В моем приложении я использую webpack с несколькими целями .
В основном у меня есть один для кода приложения и один для кода веб-воркера, то есть, например:
const browserConfig = {
output: {
filename: "[name].bundle.js"
},
//...
}
const workerConfig = {
target: "webworker",
entry: {
decoder: "./worker-stuff.ts"
},
output: {
filename: "[name].bundle.js"
},
// ...
});
module.exports = [browserConfig, workerConfig];
Теперь я пытаюсь интегрировать свое приложение в приложение Angular в качестве компонента, используя настраиваемую конфигурацию webpack Часть browserConfig
уже обрабатывается внутренней конфигурацией WebPack Angulars, поэтому я просто нужно добавить workerConfig
. Вот как выглядит моя настраиваемая конфигурация веб-пакета:
const workerConfig = {
target: "webworker",
entry: {
worker: "./worker-stuff.ts"
},
output: {
filename: "[name].bundle.js"
},
// ...
});
module.exports = [workerConfig];
И я использую его так в angular. json:
"builder": "@angular-builders/custom-webpack:browser",
"options": {
"customWebpackConfig": {
"path": "./custom-webpack.config.js"
},
К сожалению, кажется Angular не может обрабатывать массивы конфигураций:
An unhandled exception occurred: Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
- configuration has an unknown property '0'. These properties are valid:
object { amd?, bail?, cache?, context?, dependencies?, devServer?, devtool?, entry?, externals?, infrastructureLogging?, loader?, mode?, module?, name?, node?, optimization?, output?, parallelism?, performance?, plugins?, profile?, recordsInputPath?, recordsOutputPath?, recordsPath?, resolve?, resolveLoader?, serve?, stats?, target?, watch?, watchOptions? }
Удаление квадратных скобок также не работает b / c тогда Angular и мой workerConfig объединяются, и это не то, что я хочу.
Я что-то делаю. неверно или просто невозможно иметь несколько целей с настраиваемой конфигурацией веб-пакета?