小编She*_*eni的帖子

webpack 2在IE11上不起作用?

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

javascript promise internet-explorer-11 webpack

5
推荐指数
1
解决办法
5533
查看次数