【问题标题】:Angular @ngtools/webpack build fails when using webpack mode 'production'使用 webpack 模式“生产”时,Angular @ngtools/webpack 构建失败
【发布时间】:2020-10-20 22:55:39
【问题描述】:

我一直有这个问题,只要我设置了

{ mode: 'production' }

在我的 webpack.config.js 我的 Angular 模板中使用

@Component({ templateUrl: 'path/to/template.html' })

无法再编译。

产生的错误都与模板中使用的指令有关,例如

src/path/to/template.html:1:123 - error NG8002: Can't bind to 'routerlink' since it isn't a known property of 'a'

【问题讨论】:

    标签: javascript angular webpack ngtools


    【解决方案1】:

    事实证明,该错误提供的信息比看起来要多。问题实际上是,它已从 routerLink 更改为 routerlink

    当生产模式处于活动状态时,html-loader 会启用它的最小化器。由于加载器用于在 将模板传递给 Angular 编译器之前获取模板,因此会产生错误。

    解决此问题的最简单方法是将html-loadercaseSensitive 选项设置为true

    {
      module: {
        rules : [
          {
            test: /\.html$/,
            use: [
              {
                loader: 'html-loader',
                options: { minimize: { caseSensitive: true } }
              }
            ]
          }
        ]
      }
    }
    

    我在这里记录了这一点,因此希望在 2 或 3 年后搜索它时能找到它。

    【讨论】:

      猜你喜欢
      • 2018-10-13
      • 2019-10-30
      • 1970-01-01
      • 2017-07-27
      • 2019-06-10
      • 1970-01-01
      • 2019-11-06
      • 2021-04-02
      • 2017-10-01
      相关资源
      最近更新 更多