在角度编译器之前编辑打字稿

问题描述

我想在 angular 编译器之前剥离 ts 代码。 这是编译前的样子:

...
 /* prod:start */
 const title: string = "Production title!"
 /* prod:end */
 /* dev:start */
 const title: string = "Dev title!"
 /* dev:end */

为了去除 ts 代码,我在自定义 webpack 配置中使用了 webpack-remove-block-loader 加载器

module.exports = {
  module: {
    rules: [
      {
        test: /\.ts$/,exclude: /node_modules/,enforce: 'pre',use: [
          {
            loader: 'webpack-remove-block-loader',options: {
              active: true,blocks: excludedClients.blocks,},],plugins: [
    new webpack.DefinePlugin({
    ...

为了使自定义 webpack 工作,我在 angular.json 中使用 @angular-builders/custom-webpack 和这个配置:

"build": {
          "builder": "@angular-builders/custom-webpack:browser","options": {
            "customWebpackConfig": {
              "path": "./custom-webpack.config.js","mergeRules": {
                "module": {
                  "rules": "prepend"
                }
              },...

问题是它不起作用。如果我从自定义 webpack 配置中删除 enforce: 'pre' 标志,用于去除 ts 代码的加载器 - 它会从已经编译的 ts 文件删除代码块,这是错误的,否则使用 enforce : 'pre' 它应该在 angular 编译器之前工作,但它没有,代码仍然对两种类型的构建(prod/dev)都有注释。

是的,我知道可以使用 environment.ts 文件中的选项,但它不够灵活。 谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...