在angular7中,我想创建一个这样的util类:
export class FieldNameUtils {
static toHump(name: string) {
return name.replace(/_(w)/g, function (all, letter) {
return letter.toUpperCase();
});
}
static toLine(name: string) {
return name.replace('/([A-Z])/g', '_$1').toLowerCase();
}
}
它与开发模式合作良好,但是当我与生产构建时,我会遇到这样的错误:
field.name.utils.ts:4:25: Metadata collected contains an error that will be reported at runtime: Expression form not supported.
{"__symbolic":"error","message":"Expression form not supported","line":3,"character":24}
我试图将/_(w)/g
更改为静态变量,但仍然有错误,我知道不支持Lambda表达式,因此我已经将(all, letter) => ...
更改为function(all, letter){ ... }
该错误表明不支持replace(
后的表达式,但它是RegExp
您是否尝试过如下设置正则罚款?
const regex = new RegExp('_(w)', 'g');
尝试将类标记为
// @dynamic
export class YourUtilClass {
}
在使用Angular库期间,我遇到了这个问题。