Как мне переписать загрузчик машинописного текста в Angular 6/7? - PullRequest
0 голосов
/ 12 января 2019

Я пытаюсь реализовать пользовательскую конфигурацию веб-пакета для моего приложения Angular 7, которое перезаписывает загрузчик машинописного текста, чтобы я мог использовать customerTransformer (см. ts-loader / getCustomTransformer или awesome-typescript-loader / getCustomTransformer ) в конвейере компилятора TypeScript.

Поскольку команда ng eject невозможна начиная с Angular 6, я использую следующий подход https://codeburst.io/customizing-angular-cli-6-build-an-alternative-to-ng-eject-a48304cd3b21 для использования пользовательской конфигурации веб-пакета. Я использую это extra-webpack.config.js.

const methodOverloading = require("../../../built/transformer/method-overloading").methodOverloading;

module.exports = {
  module: {
    rules: [
      {
        test: /\.ts/,
        loader: 'ts-loader', // or 'awesome-typescript-loader'
        exclude: /node_modules/,
        options: {
          getCustomTransformers: (program) => ({
            before: [methodOverloading(program)]
          }),
        }
      }
    ]
  }
};

Когда я запускаю npm run start или npm run build, он запускается без ошибок, а также выполняет код из customTransformer. Но окончательная сборка не включает преобразования из customTransformer.

Я подозреваю, что Angular 6/7 использует другой способ компиляции своего TypeScript. Но я не знаю, что это за путь (пробовал ts-loader и awesome-typescript-loader). Также я не знаю, где я могу увидеть использованный webpack.config из Angular. Это помогло бы, потому что тогда я мог бы использовать ту же конфигурацию, что и Angular для extra-webpack.config.js. Как мне переписать загрузчик машинописного текста в Angular 6/7?

Я также пробовал разные стратегии слияния , но это также не удалось.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...