2017-05-24 78 views
5

我有一个非常基本的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.jsvendor.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文档中找到任何解决此问题的方法。

+1

退房此线程在Github:https://github.com/mzabriskie/axios/issues/135 #issuecomment-264216884 –

+1

这似乎并不是同一个问题 - 在webpack运行自举代码之前无法加载任何内容,因此即使ProvidePlugin也不起作用。它似乎是最新的webpack版本的一个错误(https://github.com/webpack/webpack/issues/4916) – Sheeni

回答

相关问题