Javascript Angular production构建不能缩短类名吗?

Javascript Angular production构建不能缩短类名吗?,javascript,angular,typescript,angular-cli,typescript-decorator,Javascript,Angular,Typescript,Angular Cli,Typescript Decorator,有没有可能告诉Angular production build不要缩短类名 类似于'ng serve-o--prod=true--缩写classname=false 我遇到的问题是我正在使用这个库: 它允许我们修饰类属性以验证它们 因为Angular缩短了类名,所以我得到了如下错误: main.2876a5e2eb85f08784d9.js:1 Uncaught Error: The ValidationContainer already contains context wit

有没有可能告诉Angular production build不要缩短类名

类似于'ng serve-o--prod=true--缩写classname=false

我遇到的问题是我正在使用这个库:

它允许我们修饰类属性以验证它们

因为Angular缩短了类名,所以我得到了如下错误:

main.2876a5e2eb85f08784d9.js:1 Uncaught Error: The ValidationContainer 
      already contains context with signature t_e_sku.
    at Function.t.addValidationContext 

装饰器由
ConstructorName\u propertyName
设置关键字,由于Angular production build缩短了名称,因此在为装饰器创建验证上下文时会产生冲突。

您可以尝试禁用优化:

ng service--prod--optimization=false
angular.json
文件中,还有一个用于构建器配置的
optimization
标志:

      "architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            "optimization": false
我不确定这个标志是否与上面的相同

我相信这将增加捆绑的大小。对于这类事情,这里没有任何更细粒度的控件,我认为自定义生成器也不会有帮助

我们已经有一段时间没有使用
ng eject
选项来创建自定义网页包构建了,但是您可能会在网上找到一些手动创建的示例。当Angular 9出现时,更新会很痛苦


也许您使用的这个库是为NodeJ而不是web浏览器设计的。

谢谢-我来试一试我是这个库的作者,所以它肯定是针对浏览器的:)