处理 error TS1219 (Experimental support for decorators is a feature that is subject to change in a future release) 错误

如果直接在命令行使用 tsc 编译包含使用装饰器的 typescript 源文件,可能会碰到 error TS1219 (Experimental support for decorators is a feature that is subject to change in a future release) 错误。

因为装饰器(Decorator)在 typescript 中属于实验性语法,因此在编译时必须开启 experimentalDecorators 选项。

首先查看是否已经存在配置文件: tsconfig.json, 如果存在,则在 compilerOptions 中加入 experimentalDecorators: true 。

1
2
3
4
5
6
7
8
{
"compilerOptions": {
...
"experimentalDecorators": true,
"emitDecoratorMetadata": true
...
}
}

如果 tsconfig.json 文件不存在,则可以使用 tsc 的命令生成一个默认的 tsconfig.json 。 在项目目录执行:

1
tsc --init

在生成的文件中, experimentalDecorators 选项是被注释掉的,需要启用。

最后再执行 tsc -p 命令就能顺利通过编译代码了。

1
tsc -p ./

-p 参数的含义是指明项目的目录,这样 tsc 就会在该目录中寻找 tsconfig.json 配置文件。否则 tsc 不会读取刚才生成的 tsconfig.json 文件。

本文标题:处理 error TS1219 (Experimental support for decorators is a feature that is subject to change in a future release) 错误

文章作者:Morning Star

发布时间:2019年07月06日 - 18:07

最后更新:2021年04月16日 - 15:04

原始链接:https://www.mls-tech.info/web/angular/angular-typescript-error-ts1219/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。