vue不兼容(babel-polyfill)IE浏览器,白屏

发布于 2022-09-11 22:18:40 字数 688 浏览 22 评论 0

vue 项目打包后在IE11浏览器白屏

控制台报错:

SCRIPT1002: 语法错误

通过vue-cli2搭建的项目,需要兼容IE11浏览器,所以使用了babel-polyfill,
开发环境下正常,打包后就报错了。

图片描述

随便说一下,开发环境下把babel-polyfill去掉也能在IE11浏览器正常运行

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)
package.json 文件
"dependencies": {

"babel-polyfill": "^6.26.0"

}
main.js 文件
//此处好像加不加都行
import 'babel-polyfill'

webpack.base.conf.js 文件
entry: {

app: ["babel-polyfill", "./src/main.js"]

},

既然开发环境可以,生产环境报错,我觉得就是开发和生产环境的编译结果不同导致的,但是又不知道怎么改,目前两个环境的构建模式都是:devtool: 'eval'

期待大神指教,谢谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

时常饿 2022-09-18 22:18:40

我遇到过得白屏基本都是es6语法导致的,你可以查看下打包后的js中是否包含es6代码,例如:letconst() =>来简单查询下。ps:static文件夹下面的js中如果使用的es6是没有被转成es5的。希望对你能有点帮助。

小嗲 2022-09-18 22:18:40

看一下是什么语法导致的,定位一下问题再说吧

萌梦深 2022-09-18 22:18:40

正如1楼所说,报错的那个文件确实存在let const => 这些es6代码,IE11不支持所以报语法错误
我这里关于babel-polyfill插件的使用是正确的,之所以出现这些未转义的代码,是因为babel-loader的编译范围所限
因为我的static文件夹和element-ui也用了es6的语法,所以也要编译,代码如下:

webpack.base.conf.js

{
    test: /\.js$/,
    loader: 'babel-loader',
    include: [
      resolve('src'), //默认编译文件
      resolve('static'), //编译静态文件
      resolve('node_modules/element-ui/src'), //编译element-ui
      resolve('node_modules/element-ui/packages') //编译element-ui
    ]
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文