如果直接在命令行使用 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 | { |
如果 tsconfig.json 文件不存在,则可以使用 tsc 的命令生成一个默认的 tsconfig.json 。 在项目目录执行:
1 | tsc --init |
在生成的文件中, experimentalDecorators 选项是被注释掉的,需要启用。
最后再执行 tsc -p 命令就能顺利通过编译代码了。
1 | tsc -p ./ |
-p 参数的含义是指明项目的目录,这样 tsc 就会在该目录中寻找 tsconfig.json 配置文件。否则 tsc 不会读取刚才生成的 tsconfig.json 文件。