ios9不支持es6寫法,包括一些低版本安卓機,超級坑!!!
最先是要配babel-polyfill
import babel-polyfill
// 在module.exports裏
entry: {
// app: './src/main.js'
app: ["babel-polyfill", "./src/main.js"]
}
單獨配裏這裏是不好用的,需要在module.exports裏module里加上這段
{
test: /\.js$/,
exclude: /node_modules/,
loader: "babel-loader"
}
仍然不好使的,需要給某些目錄加編譯,如下include,看resolve在那個目錄下,有的需要path.
{
test: /\.js$/,
exclude: /node_modules/,
loader: "babel-loader”,
include: [
path.resolve('src'),
path.resolve('test'),
path.resolve('node_modules/webpack-dev-server/client')
]
}
仍然不好使的,那就是因爲web-view問題,會導致加載H5需要適配ie
const Home = () => import("../views/Home");
原因是在加載路由時的寫法用尖頭函數(如上),會走到Promise.all(),但在ie瀏覽器上會報錯Promise 未定義
所以需要在最開始加載路由前面定義Promise,在main.js裏第一句話加載Promise,兩種中寫一個便可
import Promise from 'es6-promise';
window.Promise=Promise;