Angular пользовательский веб-пакет с несколькими целями - PullRequest
0 голосов
/ 04 августа 2020

В моем приложении я использую 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 объединяются, и это не то, что я хочу.

Я что-то делаю. неверно или просто невозможно иметь несколько целей с настраиваемой конфигурацией веб-пакета?

...