Webpack смотреть модули двойной компиляции узлов - PullRequest
2 голосов
/ 19 июня 2020

У меня есть проект, который состоит из 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')
    ]
}
...

Есть какие-нибудь советы или предложения?

...