Javascript Angular production构建不能缩短类名吗?
有没有可能告诉Angular production build不要缩短类名 类似于'ng serve-o--prod=true--缩写classname=false 我遇到的问题是我正在使用这个库: 它允许我们修饰类属性以验证它们 因为Angular缩短了类名,所以我得到了如下错误: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
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浏览器设计的。谢谢-我来试一试我是这个库的作者,所以它肯定是针对浏览器的:)