1
ReactとWebpackを使い慣れているので、何か間違っている可能性が高いですが、-pプロダクションフラグを付けてビルドするとファイルサイズがかなり大きくなります(3.26MB vs 2.23MB)を使用しています。React via Webpack - 生産フラグがファイルサイズを増やす
package.json:
{
"name": "myProject",
"version": "0.0.1",
"description": "",
"main": "webpack.config.js",
"dependencies": {
"babel-loader": "^6.2.0",
"babel-plugin-add-module-exports": "^0.1.2",
"babel-plugin-react-html-attrs": "^2.0.0",
"babel-plugin-transform-class-properties": "^6.3.13",
"babel-plugin-transform-decorators-legacy": "^1.3.4",
"babel-preset-es2015": "^6.3.13",
"babel-preset-react": "^6.3.13",
"babel-preset-stage-0": "^6.3.13",
"flux": "^2.1.1",
"history": "^1.17.0",
"react": "^0.14.6",
"react-dom": "^0.14.6",
"react-router": "^1.0.3",
"webpack": "^1.12.9",
"webpack-dev-server": "^1.14.1"
},
"devDependencies": {},
"scripts": {
"dev": "webpack-dev-server --content-base src --inline --hot",
"build": "webpack",
"build-p": "webpack -p"
},
"author": ""
}
webpack.config.js:
var debug = process.env.NODE_ENV !== "production";
var webpack = require('webpack');
var path = require('path');
module.exports = {
context: path.join(__dirname, "src"),
devtool: debug ? "inline-sourcemap" : null,
entry: "./js/app.js",
module: {
loaders: [
{
test: /\.jsx?$/,
exclude: /(node_modules|bower_components)/,
loader: 'babel-loader',
query: {
presets: ['react', 'es2015', 'stage-0'],
plugins: ['react-html-attrs', 'transform-class-properties', 'transform-decorators-legacy'],
}
}
]
},
output: {
path: __dirname + "/src/",
filename: "app.min.js"
},
plugins: debug ? [] : [
new webpack.optimize.DedupePlugin(),
new webpack.optimize.OccurenceOrderPlugin(),
new webpack.optimize.UglifyJsPlugin({ mangle: false, sourcemap: false }),
],
};
バンドルを開くと、間違いなく縮小されていることがわかりますか? – riscarrott
また、問題とは別に、Reactを使用する場合、DefinePluginを使用して 'process.env.NODE_ENV'をプロダクションに設定して、プロダクションバージョンをバンドルする必要があります。そうでない場合、Reactランタイムのパフォーマンスはかなり低下します。 https://facebook.github.io/react/downloads.html#npm – riscarrott
こんにちは@riscarrott - はい、それは縮小されています。生産変数については、私はそれを見いだしましたが、私はそれをどこに置くべきかを知ることができませんでした。 – SimonTheEngineer