0

我正在尝试通过遵循这篇文章http://moduscreate.com/optimizing-react-es6-webpack-production-build/来减少生产反应项目的大小。不幸的是,某些步骤不起作用。其中之一是 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' 不起作用,它根本没有减少项目的大小。

4

1 回答 1

2

尝试

...

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

...

反而。

此外,devtool: 'cheap-module-source-map'不是为了减小包的大小,而是为了生成源映射

于 2017-02-22T10:38:38.050 回答