TypeScript编译并保留注释

joe*_*iks 12 typescript tsc

我喜欢在生成的javascript文件中保留我的注释,默认情况下编译器会删除它们.那有一个tsc参数吗?(用例是保持///参考路径= ...用于chutzpah单元测试.)

ami*_*min 9

/*!保留开头的注释.

例:
/*! this comment remains untouched */
/* but this one will be removed */


Joa*_*son 8

是的,-c(或--comments)选项;

语法:tsc [options] [file ..]

示例:tsc hello.ts
tsc --out foo.js foo.ts
tsc @ args.txt

选项:
   -c, - comment发出注释到输出
...

  • 哪个版本介绍了它?我得到`错误TS5023:未知的编译器选项'comments'.对于`1.0.3.0`和`1.5.0-alpha` (2认同)

Jon*_*era 7

当前使用 1.6.2 并且似乎默认情况下保留注释。编译器中唯一与注释相关的标志是删除注释。根据文档:

--removeComments
删除除以 /!* 开头的版权标题注释之外的所有注释


Ima*_*tit 5

从2015年开始,您可以tsconfig.json在项目中创建一个,然后添加"removeComments": false到其"compilerOptions"属性中,以将注释保留在生成的javascript文件中。


1. tsconfig.json从终端为您的项目创建文件(如有必要)

tsc -init
Run Code Online (Sandbox Code Playgroud)

2.添加"removeComments": false到属性中的tsconfig.json文件中"compilerOptions"

最后,您应该期望tsconfig.json文件内容如下所示:

{
    "compilerOptions": {
        "module": "commonjs",
        "target": "es5",
        "noImplicitAny": false,
        "sourceMap": false,
        "removeComments": false
    },
    "exclude": [
        "node_modules"
    ]
}
Run Code Online (Sandbox Code Playgroud)

3.从终端将.ts文件编译成.js文件

  • 使用tsc myFile.ts为了保留您的评论
  • 使用tsc --removeComments myFile.ts,以消除您的意见

您可以tsconfig.jsonTypescriptlang.org tsconfig.json页面上了解有关编译器选项的更多信息。

此外,根据打字稿文档,设置truefalse"removeComments"财产将有上开始复制权头注释没有影响/*!。因此,它们将始终出现在您的.js文件中。