当前位置: 首页 > 知识库问答 >
问题:

javascript - webpack 打包后,部分低版本浏览器报错无法识别axios?

茅桐
2024-05-13

image.png
axios 版本从最高降到1.6.0 还是无法显示出页面,是否是babel的配置有问题呢?
.baelrc

{  "presets": [    [      "@babel/preset-env",      {        "targets": {          "browsers": [            "ie >=9",            "chrome >= 48",            "android >= 4.4",            "ios >= 9",            "safari >= 7"          ]        },        "useBuiltIns": "usage",        "corejs": 3.37      }    ]  ],  "plugins": ["@babel/plugin-transform-runtime"]}

webpack.config.js

    module: {        rules: [            {                test: /\.m?js$/, // 匹配 .js 或 .mjs 文件                exclude: /node_modules/, // 排除 node_modules 目录(可选,根据实际情况调整)                use: {                    loader: 'babel-loader',                },            },        ]    }

package.json

{  "scripts": {    "babel": "npx babel src --out-dir lib",    "dev": "npx webpack --config webpack.config.js --mode dev",    "watch": "npx webpack --config webpack.config.js --mode dev --watch",    "start:dev": "npx cross-env envMode=dev webpack serve --open --mode development",    "start:test": "npx cross-env envMode=test webpack serve --open --mode development",    "build:test": "npx cross-env envMode=test webpack --config webpack.config.js --mode development",    "build:stage": "npx cross-env envMode=stage webpack --config webpack.config.js --mode production",    "build": "npx cross-env envMode=prod webpack --config webpack.config.js --mode production",    "analyze": "npx cross-env envMode=prod webpack --config webpack.config.js --mode production --analyze"  },  "devDependencies": {    "@babel/core": "^7.24.4",    "@babel/plugin-transform-runtime": "^7.24.3",    "@babel/preset-env": "^7.24.4",    "@vue/compiler-sfc": "^3.4.25",    "autoprefixer": "^10.4.19",    "babel-cli": "^6.26.0",    "babel-loader": "^9.1.3",    "clean-webpack-plugin": "^4.0.0",    "css-loader": "^7.1.1",    "dotenv": "^16.4.5",    "html-webpack-plugin": "^5.6.0",    "image-minimizer-webpack-plugin": "^4.0.0",    "imagemin": "^8.0.1",    "imagemin-gifsicle": "^7.0.0",    "imagemin-jpegtran": "^7.0.0",    "imagemin-optipng": "^8.0.0",    "imagemin-svgo": "^10.0.1",    "mini-css-extract-plugin": "^2.9.0",    "postcss": "^8.4.38",    "postcss-loader": "^8.1.1",    "postcss-px-to-viewport": "^1.1.1",    "sass": "^1.75.0",    "sass-loader": "^14.2.1",    "style-loader": "^4.0.0",    "vue-loader": "^17.3.1",    "webpack": "^5.91.0",    "webpack-bundle-analyzer": "^4.10.2",    "webpack-cli": "^5.1.4",    "webpack-dev-server": "^5.0.4"  },  "dependencies": {    "axios": "^1.6.0",    "core-js": "^3.37.0",    "default-passive-events": "^2.0.0",    "jquery": "^3.7.1",    "vconsole": "^3.15.1",    "vue": "^3.4.25",    "weixin-js-sdk": "^1.6.5"  }}

共有1个答案

敖毅
2024-05-13

参考这个vue文档中transpileDependencies配置项的描述,

默认情况下 babel-loader 会忽略所有 node_modules 中的文件。你可以启用本选项,以避免构建后的代码中出现未转译的第三方依赖。

所以你的axios没有通过bable转译,在低版本的浏览器中就报错了.

建议参考文档在vue.config.js的配置的transpileDependencies配置项中加上axios

module.exports = {  // ...其他配置略  transpileDependencies: [    "axios"  ]  // ...其他配置略}

如果没有vue-config.js,参考这个文章也行

 类似资料:
  • H5 webapck 打包后,在低版本浏览器,页面无法显示? 定位到问题代码行数,是 axios请求有问题,这种要怎么兼容? webpack.config.js里面的配置 .babelrc 里面的配置

  • 背景: 项目中引入了iconify图标库,低版本谷歌浏览器下图标不能正确显示 相关代码如下: data-icon值 bx:edit: 114、124版本谷歌浏览器下图标均正常显示 material-symbols:add: 114版本谷歌浏览器下图标没有显示,124版本谷歌浏览器下图标正常显示 尝试: iconify官网查找相关库 https://icon-sets.iconify.design/

  • 本文向大家介绍javascript 获取浏览器版本,包括了javascript 获取浏览器版本的使用技巧和注意事项,需要的朋友参考一下 工作中需要通过JS去获取当前使用的浏览器的名字以及版本号,网上大堆资料都有一个关键词是 navigator.appName,但是这个方法获取的浏览器的名字只有两种要么是IE要么就是Netscap,倒是可以用来判断是否使用了IE,但是我想获取具体的浏览器产品名字比如

  • 我正在尝试处理本机打开的警报,但量角器无法识别此警报并向控制台发送错误- 1)测试用例pull - LiveSite - Call消息:NoSuchAlertError:无警报打开(会话信息:chrome=51.0.2704.103)(驱动程序信息:chrome Driver = 2 . 14 . 313457(3d 645 C 400 EDF 2 e 2c 500566 c9aa 096063

  • 路径:%JAVA_HOME\bin;%M2_HOME\bin;... java版本工作良好 java版本“1.8.0_45”java(TM)SE运行时环境(build1.8.0_45-B15)java HotSpot(TM)64位服务器VM(build25.45-B02,混合模式) “Mvn'n'est pas reconnu en tant que commande interne ou ext

  • 现在相信很多团队的代码都是直接用 ES2015+ 语法来编写和维护,然后通过 Babel 将 ES2015+ 语法转成支持老浏览器的 js 代码,经过转换后的 js 代码从体积和解析执行效率上都比转换前有损耗。 兼容性 从 Caniuse 网站的数据来看,现在绝大多数的浏览器已经对 ES2015+有了很好的支持,而经过我们统计百度 APP 的 Webview 浏览器数据来看,国内大概有 74.71