vue项目在IE9/10中报错SCRIPT1002: 语法错误

clipboard.png
在IE11下都不报错可以正常使用,之前在IE9/10也不报错,现在突然冒出来这个打开就是空白页,我检查了很久也检查不出来到底是什么东西写的不规范。
断点处是这样的
clipboard.png

阅读 41k
13 个回答

我的是用react有种情况,我的原因是webpack-dev-server版本太高,换成2.6.1版本就好了,我看了报错信息,babel-loader好像不能把高版本webpack-dev-server的es6,如const转换成es5,在ie就报错了

eval(),包含的代码中有ES6的语法,IE不支持

先把source-map配置去掉,在没被压缩,被build后的js文件中调试看看。

这个问题解决了吗 也纳闷定位不到问题

首先polyfill肯定要的,然后发现我是在项目中使用了只兼容IE11的插件,把插件删掉然后替换兼容性比较好的插件就可以了。

执行 cnpm install 之前,先运行着两个命令:

cnpm install chalk
cnpm install webpack-merge

IE浏览器没有内置Promise对象。不仅如此,几乎所有的ES6新增的方法在IE都不能用,此时你需要babel Polyfill

1.首先npm install --save babel-polyfill
2.修改build/webpack.base.config.js

修改

entry: {
    main: './src/main',
    vendors: './src/vendors'
},

entry: {
    main: ["babel-polyfill","./src/main"],
    vendors: './src/vendors'
},

即可。

请问这个问题您解决了吗?我也遇到了 根本不知道从哪下手

新手上路,请多包涵

上面方法我都试了都不行,请大神指导呀

折腾了半天,解决流程大概如此:

  1. yarn build. 先编译出production版本
  2. 启动production版本
  3. 查看错误是属于哪个npm包。然后选择替代方案。
  4. 排查下一个错误的包

这种情况是因为包的编译是有问题的。比如这个https://github.com/davglass/p...
如果有耐心,可以提issue等修复。也可以自己fork修改。不过很多时候可能换个包会简单一些。

至于为什么要在production下测试。因为在采坑的过程中发现,dev下报的错误其实是不准确的。
比如案例中prettysize这个包的错误,在dev下提示的却是另一个不相干的包。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题