1

我们最近刚刚将一个 Angular 项目从 Angular 1.5 移植到 11。部分代码使用gulp-preprocess和代码和模板中的条件语句有条件地编译(为特殊客户丢弃了不同的部分)

不幸的是,开箱即用的东西不再可用于构建 Angular11。目前我设法使用另一个预处理器模块webpack-preprocessor-loader并结合ngx-build-plus我为 webpack 创建了以下插件配置:

exports.default = {
    pre: function (options) {

    },
    config: function (cfg) {
      const rule = {
        test: /\.ts$/,
        use: [
          {
            loader: 'webpack-preprocessor-loader',
            options: {
              params: {
                testParam: true,
              }
            }
          }
        ]
      }

      cfg.module.rules = [rule, ...cfg.module.rules];

      return cfg;
    },
    post: function (options) {

    }
};

如果我现在运行 ng serve 或构建 .ts 文件中的正确部分,则会更改。

我现在的问题是,我无法使用这种方法访问组件(.html 文件)的模板。Angular 已经将它们编译到它们的组件中。

是否有我可以在 Angular 中访问的钩子或构建步骤,这可以让我在模板编译成 .ts 组件文件之前在模板上运行预处理器?

4

0 回答 0