Webpack与未使用的导出模块捆绑在一起

时间:2016-10-05 10:38:09

标签: webpack bundle uglifyjs

我在我的应用程序中使用了ES6模块并使用webpack2捆绑它。当我将我的应用程序与node_modules的外部依赖关系捆绑在一起时,它会在未分析的输出中显示未使用的模块。但是,当我捆绑缩小的文件时,未使用的模块也捆绑在一起。

webpack.config.js

var webpack = require('webpack');
var nodeExternals = require('webpack-node-externals');

module.exports = {
    target: 'node',
    context: __dirname + '/',
    entry: { 'main': './src/main.js' },
    output: {
        path: __dirname + '/',
        filename: "webpack2-test-es6.js"
    },
    module: {
        loaders: [
            { test: /\.js$/, loader: 'babel' }
        ]
    },   
    plugins: [
        new webpack.LoaderOptionsPlugin({
            minimize: true,                     
            debug: false
        }),
        new webpack.optimize.UglifyJsPlugin({
            compress: {
                warnings: true,
                dead_code: true,
                unused: true,
            },
            output: {
                comments: false
            },
            sourceMap: false                        
        })            
    ]
}

捆绑过程会显示一些警告,例如

Side effects in initialization of unused variable
......
......

这些副作用模块是/ *未使用的和谐命名空间reexport * /,但它也捆绑在缩小的输出中。

0 个答案:

没有答案