【发布时间】:2017-07-04 14:03:16
【问题描述】:
我正在使用 Webpack 和 Babel 来构建和转译我的 ES6 代码。但是,在尝试支持旧版浏览器时,我缺少重要的 Polyfill。例如 iOS8。
这是我的 Webpack.config
const versions = {
v1: './src/js/v1.js',
v2: './src/js/v2.js',
v3: './src/js/v3.js',
};
module.exports = {
entry: versions,
output: {
path: __dirname + '/dist',
filename: '[name].min.js'
},
externals: {
'jquery': 'jQuery'
},
module: {
loaders: [
{
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel-loader',
}, {
test: /\.hbs$/,
loader: 'handlebars-loader',
}
]
}
}
还有我的.babelrc 文件:
{
"presets": [
["env", {
"targets": {
"browsers": ["last 3 versions", "iOS >= 8"]
}
}]
]
}
首先,为什么不添加这个 Polyfill?其次,我该如何添加它?我尝试将其添加到我的 .babelrc "plugins": ["whatwg-fetch"] 中,但没有成功。
我相信我可以将它添加到我的 Webpack 配置的条目中,但这在我的实例中不起作用,因为我有多个要单独构建的脚本。
提前感谢您的帮助。我的头发越来越少,特别感谢!
【问题讨论】:
-
非常好的问题。我最终还导入了
whatwg-fetch模块来解决这个问题,但是将那个 polyfill 作为 Babel 的一部分会更方便。