我有一个非常基本的JavaScript项目,它使用webpack(^ 2.6.0)作为模块打包器。有一个依赖关系作为供应商模块,我有一个入口点。我的配置如下:webpack 2不能在IE11上工作?
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"
})
]
};
此创建束bundle.js
和vendor.js
。 vendor-bundle还包含webpack-bootstrap-code,在加载我的任何模块之前加载该代码。现在,inspecing是引导代码显示,第40行,产生的WebPack
/******/ var resolvedPromise = new Promise(function(resolve) { resolve(); });
不幸的是,承诺不提供IE11,即使你包括包括承诺(如与import 'babel-polyfill'
)一个填充工具的第一件事入口点,甚至作为它自己的入口点,在引导代码运行之前它永远不会被执行,这意味着我不能在IE11上使用此代码,除非我在webpack-bundles之前手动包含Promise-polyfill。不出所料,IE11甚至在获得我的任何代码甚至供应商包之前都会抛出Promise is not defined
错误。
我在这里错过了什么,或者这是预期的行为?我无法在webpack文档中找到任何解决此问题的方法。
退房此线程在Github:https://github.com/mzabriskie/axios/issues/135 #issuecomment-264216884 –
这似乎并不是同一个问题 - 在webpack运行自举代码之前无法加载任何内容,因此即使ProvidePlugin也不起作用。它似乎是最新的webpack版本的一个错误(https://github.com/webpack/webpack/issues/4916) – Sheeni