Ответ 1
Если вы используете webpack 4, вы не должны использовать плагин commonsChunk, вы должны использовать Optimize.splitChunks. Работает нормально с AOT.
У меня есть приложение angular, которое скомпилировано с помощью webpack и использует несколько точек входа:
entry: {
'app1': helpers.root('src', 'app1', 'main.ts'),
'app2': helpers.root('src', 'app2', 'main.ts')
}
Я использую CommonsChunkPlugin
для объединения файлов поставщиков между этими приложениями, что отлично работает. Тем не менее, теперь я хотел бы также использовать компиляцию AOT.
Использование @ngtools/webpack
Я могу только аотизировать одно приложение. Есть ли способ сделать это для обоих приложений?
new ngToolsWebpack.AngularCompilerPlugin({
tsConfigPath: helpers.root('tsconfig.json'),
entryModule: helpers.root('src', '[name]', 'app', 'app.module#AppModule'),
}),
Использование [name]
(аналогично webpack output
) не работает (см. выше). Есть ли способ достичь того же самого по-другому?
Если вы используете webpack 4, вы не должны использовать плагин commonsChunk, вы должны использовать Optimize.splitChunks. Работает нормально с AOT.
Не указывайте entryModule
.
...
plugins: [
new AngularCompilerPlugin({
tsConfigPath: ./tsconfig-aot.json,
}),
]
...