Я пытаюсь создать проект action + babel + webpack. Это работает, но файл bundle.js имеет размер 950 КБ.bundle.js слишком большой в проекте webpack
is bundle.js всегда такой большой? если нет, как уменьшить размер?
это мой webpack.config.js:
var webpack = require('webpack');
var path = require('path');
var BUILD_DIR = path.resolve(__dirname, 'src/client/public');
var APP_DIR = path.resolve(__dirname, 'src/client/app');
var config = {
entry: APP_DIR + '/index.jsx',
output: {
path: BUILD_DIR,
filename: 'bundle.js'
},
plugins: [
new webpack.optimize.OccurenceOrderPlugin(),
new webpack.DefinePlugin({
'process.env': {
'NODE_ENV': JSON.stringify('production')
}
}),
new webpack.optimize.UglifyJsPlugin({
compressor: {
warnings: false
}
})
],
module : {
loaders : [
{
test : /\.jsx?/,
loader : 'babel',
query:
{
presets: ["es2015", 'react']
}
}
]
}
};
module.exports = config;
Да. пакет будет расти на основе ваших зависимостей. webpack упаковывает все ваши зависимости, в которые вы включаете, используя импорт. альтернативным способом вы можете использовать CDN, насколько это возможно, для ваших зависимостей во время развертывания и конвертировать ES6 в ES5 с помощью babel для ваших реагирующих компонентов. – subash
Это всегда зависит от того, что вы тоже с этим связаны. Вы также можете попробовать разделить пакет между librairies поставщика и кодом приложения. Таким образом, клиент может кэшировать поставщика и не загружать его на некоторое время. У вас также есть подход к dll Webpack, который впоследствии разбивает и ускоряет компиляцию (если вы используете такой инструмент, как hmr) – gretro