У меня есть проект, который состоит из 3 частей: Application, Common и Configuration.
В режиме просмотра webpack (--watch --progress) компилирует все при первом запуске, и это нормально, но второй прогон всегда снова перекомпилирует зависимости node_module. Это также происходит спорадически во время разработки, несмотря на то, что node_modules вообще не изменяется.
Можно ли указать компилятору всегда игнорировать скрипты поставщика после первого запуска?
В настоящее время это первый запуск :
Hash: a5023b9c06db9f1a79ac
Version: webpack 4.30.0
Time: 166927ms
Built at: 06/19/2020 1:15:38 PM
Asset Size Chunks Chunk Names
Application.js 831 KiB Application [emitted] Application
Application.js.map 801 KiB Application [emitted] Application
Common.js 332 KiB Common [emitted] Common
Common.js.map 297 KiB Common [emitted] Common
Configuration.js 851 KiB Configuration [emitted] Configuration
Configuration.js.map 857 KiB Configuration [emitted] Configuration
icon.png 2.54 KiB [emitted]
vendor.js 6.3 MiB vendor [emitted] vendor
vendor.js.map 6.92 MiB vendor [emitted] vendor
Entrypoint Configuration = vendor.js vendor.js.map Common.js Common.js.map Configuration.js Configuration.js.map
Entrypoint Application = vendor.js vendor.js.map Common.js Common.js.map Application.js Application.js.map
Второй запуск того же медленного процесса из-за поставщика. js:
Hash: f1f697d9490a884e8ba9
Version: webpack 4.30.0
Time: 185104ms
Built at: 06/19/2020 1:20:06 PM
Asset Size Chunks Chunk Names
Configuration.js 851 KiB Configuration [emitted] Configuration
Configuration.js.map 857 KiB Configuration [emitted] Configuration
vendor.js 6.3 MiB vendor [emitted] vendor
vendor.js.map 6.92 MiB vendor [emitted] vendor
+ 4 hidden assets
Entrypoint Configuration = vendor.js vendor.js.map Common.js Common.js.map Configuration.js Configuration.js.map
Entrypoint Application = vendor.js vendor.js.map Common.js Common.js.map Application.js Application.js.map
И следующие запуски в основном нормальные (1-2 секунды), но иногда он перестраивает поставщика. js снова.
Это мой webpack.config. js:
...
entry: {
Configuration: './src/Configuration/ConfigurationMain.tsx',
Application: './src/Application/ApplicationMain.tsx'
},
output: {
filename: '[name].js',
chunkFilename: '[name].js',
path: path.resolve(__dirname, 'dist'),
libraryTarget: 'umd',
library: "[name]"
},
optimization: {
splitChunks: {
cacheGroups: {
vendor: {
test: /[\\/]node_modules[\\/]/,
name: "vendor",
chunks: "all"
},
Common: {
test: /[\\/]Common[\\/]/,
name: "Common",
chunks: "all"
}
}
}
},
devtool: "source-map",
watchOptions: {
ignored: [
path.resolve(__dirname, 'dist'),
path.resolve(__dirname, 'node_modules')
]
}
...
Есть какие-нибудь советы или предложения?