无法识别webpack.DefinePlugin和devtool:' cheap-module-source-map不起作用

时间:2017-02-22 09:42:21

标签: reactjs webpack webpack-plugin

我正在尝试按照本文Sample Project减少生产反应项目的规模。不幸的是,有些步骤不起作用。其中一个是webpack.DefinePlugin,在webpack中输出无法定义webpack.DefinePlugin的错误。也许,这是因为我在开发中构建项目,现在我想将其转移到生产中。也许,我最初必须在生产中创建项目?或者任何人都知道减少项目规模的更好方法?

webpack.config.js

var path = require("path");
var webpack = require('webpack');

var DIST_DIR = path.resolve(__dirname, "dist");
var SRC_DIR = path.resolve(__dirname, "src");

var config = {
    devtool: 'cheap-module-source-map',
    entry: SRC_DIR + "/app/index.js",
    output: {
        path: DIST_DIR + "/app",
        filename: "bundle.js",
        publicPath: "/app/"
    },
    plugins: [
        new webpack.DefinePlugin({
            'process.env': {
                'NODE_ENV': JSON.stringify('production')
            }
        })
    ],
    module: {
        loaders: [
            {
                test: /\.js?/,
                include: SRC_DIR,
                loader: "babel-loader",

                query: {
                    presets: ["react", "es2015", "stage-2"]
                }
            }
        ]
    }


};

module.exports = config;

另外,devtool:' cheap-module-source-map'没有工作,它根本没有减少项目的规模。

1 个答案:

答案 0 :(得分:2)

尝试

...

plugins: [
    new webpack.DefinePlugin({
        'process.env.NODE_ENV': JSON.stringify('production')
    })

...

代替。

另外,devtool: 'cheap-module-source-map'不是用于缩小捆绑包的大小,而是用于生成source maps