我有一个非常基本的javascript项目,它使用webpack(^ 2.6.0)作为模块捆绑器.作为供应商模块有一个依赖项,我有一个入口点.我的配置如下:
const path = require('path');
const webpack = require('webpack');
module.exports = {
entry: {
bundle: './modules/main.js',
vendor: ['react']
},
output: {
path: path.join(__dirname, 'build'),
filename: '[name].js',
chunkFilename: '[id].js'
},
plugins: [
new webpack.optimize.CommonsChunkPlugin({
name: "vendor"
})
]
};
Run Code Online (Sandbox Code Playgroud)
这会创建捆绑bundle.js和vendor.js.vendor-bundle还包含webpack-bootstrap-code,它在加载任何模块之前加载.现在,检查引导代码显示在第40行,生成了webpack
/******/ var resolvedPromise = new Promise(function(resolve) { resolve(); });
Run Code Online (Sandbox Code Playgroud)
不幸的是,IE11上没有Promise,即使你import 'babel-polyfill'在入口点中包含一个包含Promise(例如)作为第一件事的polyfill,或者甚至作为它自己的入口点,它也永远不会在引导代码运行之前执行,这意味着我不能在IE11上使用此代码,除非我在webpack-bundles之前手动包含Promise-polyfill.不出所料,IE11 Promise is not defined在我访问任何代码甚至供应商捆绑包之前都会抛出错误.
我在这里遗漏了什么或这是预期的行为吗?我无法在webpack文档中找到任何可以解决此问题的内容.