2016-05-10 8 views
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 }), 
    ], 
}; 
+0

バンドルを開くと、間違いなく縮小されていることがわかりますか? – riscarrott

+0

また、問題とは別に、Reactを使用する場合、DefinePluginを使用して 'process.env.NODE_ENV'をプロダクションに設定して、プロダクションバージョンをバンドルする必要があります。そうでない場合、Reactランタイムのパフォーマンスはかなり低下します。 https://facebook.github.io/react/downloads.html#npm – riscarrott

+0

こんにちは@riscarrott - はい、それは縮小されています。生産変数については、私はそれを見いだしましたが、私はそれをどこに置くべきかを知ることができませんでした。 – SimonTheEngineer

答えて

0

私は同じ問題を抱えていたし、それがwebpack.conf.jsから 'デバッグ' プロパティを削除することで解決しました。代わりに、私は開発パッケージをビルドするときではなく、デバッグプロパティを自動的に追加するので、-dフラグを付けたwebpackを呼び出します。

私のデバッグはあなたの設定の条件ですが、少なくともそれは私の問題を解決しました。

関連する問題