好吧我已經閱讀了許多文章(like this one)關於優化生產版本的bundle.js,但他們並沒有改變我的bundle.js文件,所以我必須做錯事。我用命令建立:與webpack反應給我一個巨大的bundle.js文件
的WebPack -p --config webpack.production.config.js
和webpack.production.config.js看起來是這樣的:
var webpack = require('webpack');
var path = require('path');
module.exports = {
devtool: 'inline-source-map',
entry: [
'./src/index.js'
],
output: {
path: path.join(__dirname, 'public'),
filename: 'bundle.js'
},
resolve: {
modulesDirectories: ['node_modules', 'src'],
extensions: ['', '.js']
},
module: {
loaders: [
{
test: /\.jsx?$/,
exclude: /node_modules/,
loaders: ['react-hot', 'babel?presets[]=react,presets[]=es2015']
}
]
},
alias: {
'react$': path.join(__dirname, 'node_modules', 'react','dist','react.min.js'),
'react-dom$': path.join(__dirname, 'node_modules', 'react-dom','dist','react-dom.min.js')
},
plugins: [
new webpack.optimize.OccurenceOrderPlugin(),
new webpack.DefinePlugin({
'process.env': {
'NODE_ENV': JSON.stringify('production')
}
}),
new webpack.optimize.UglifyJsPlugin({
compressor: {
warnings: false
}
})
],
};
我不知所措。我有17個node_modules,包括反應和webpack等所有基礎知識。我的bundle.js文件是15.6MB ....絕對巨大且不可接受。從我讀它是什麼樣子的-p和這個插件在
new webpack.DefinePlugin({
'process.env': {
'NODE_ENV': JSON.stringify('production')
}
})
應自動使用一切的.min.js版本。那是對的嗎?我必須做任何事情來強制我的應用程序使用它嗎?
任何優化都將有極大的幫助!該應用程序不是那麼大,並且該頁面的初始負載將使WAY變長。
謝謝!
請看https://webpack.github.io/docs/code-splitting.html – lux