线上vue项目在其他手机开打一切正常,但是在ios9.3报错:SyntaxError: Unexpected keyword 'const'. Const declarations are not supported in strict mode!
查了一些资料说是因为ios9.3不支持es6语法
一顿操作猛如虎,一看操作还是失败
1)webpack-dev-server回滚到了2.7.1
2)安装了babel-preset-es2015 babel-preset-es2015
main.js也引入了import 'babel-polyfill'和import 'es6-promise/auto'
但是打包之后在dist文件夹下所搜还是能查到const和let,项目在ios9.3还是报错!!说明es6没有成功转成es5!!
请问各位大神有什么办法?
网上找了很多种方法都失败!!!
这个问题搞了我两天了!!!
为什么es6转es5失败?
我也遇到过类似的问题,但是忘了怎么解决的了,说下我现在的配置:
// package.json
{
// ... 其他配置不列出来了
"browserslist": [
"defaults",
"not ie < 11",
"last 2 versions",
"> 1%",
"iOS 7",
"last 3 iOS versions"
],
"babel": {
"presets": [
"env"
],
"plugins": [
[
"transform-runtime"
]
]
}
}
// webpack.common.js
// 一条 rule
{
test: /\.js$/i,
exclude: /(node_modules|brower_components)/,
loader: 'babel-loader'
}
我没有写 .babelrc
,根据官网的说法,在 package.json
里写也是等价的。
最大的嫌疑是 browsersList
。