我正在尝试按照本文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'没有工作,它根本没有减少项目的规模。
答案 0 :(得分:2)
尝试
...
plugins: [
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify('production')
})
...
代替。
另外,devtool: 'cheap-module-source-map'
不是用于缩小捆绑包的大小,而是用于生成source maps。