使用IgnorePlugin的Webpack生成webpackMissingModule错误

时间:2017-08-08 08:33:37

标签: javascript webpack

我正在尝试从我的包中删除angular.js。找不到从bundle.js中删除它的方法,因为不知何故,Webpack从我的条目文件中解析它。所以我决定使用webpack.IgnorePlugin,但结果我收到了错误。

  

找不到模块“有角”       在webpackMissingModule

在bundle.js加载之前,我已经在cdn中包含了角度js。但它仍然试图从webpack脚本中解决它。

webpack.make.js

module.exports = function makeWebpackConfig(options) {
    var config = {};
    config.entry = {
        app: './app/app.js'
    }
    config.output = {
        path: __dirname + '/public',
        publicPath: BUILD ? '/' : 'http://localhost:8080/',
        filename: 'bundle.js',
        chunkFilename: 'bundle.js',
    }
    ...
    config.module = {
        loaders: [{
            test: /\.js$/,
            loader: 'babel-loader',
            exclude: /node_modules/
        }, {
            test: /\.html$/,
            loader: 'raw'
        }]
    };
    config.plugins = [
        new webpack.IgnorePlugin(/angular$/),
    ];
    ...
    return config;
};

1 个答案:

答案 0 :(得分:1)

如果您在应用中使用Angular,但不希望webpack包含它,因为它来自其他地方,您可以将其设置为外部库,而webpack将不会加载它。

这是一个顶级数组配置,用于指定要在捆绑中忽略的库。

module.exports = {
  externals: ['angular']
}

然后你可以摆脱ignore插件,而不必处理配置的额外部分。