I like to have my comments intact in the resulting javascript file, by default the compiler removes them. Is there a tsc parameter for that? (The use case is to keep /// reference path's = ... for chutzpah unit testing. )
6 回答
自 2015 年以来,您可以在项目中创建一个tsconfig.json
并添加"removeComments": false
到其"compilerOptions"
属性中,以便将您的评论保留在生成的 javascript 文件中。
1.tsconfig.json
从终端创建项目文件(如有必要)
tsc -init
2.添加"removeComments": false
到你的tsconfig.json
文件里面的"compilerOptions"
属性
最后,您应该期望您的tsconfig.json
文件内容是这样的:
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"noImplicitAny": false,
"sourceMap": false,
"removeComments": false
},
"exclude": [
"node_modules"
]
}
3. 从终端将 .ts 文件编译成 .js 文件
- 使用
tsc myFile.ts
以保留您的评论 - 用于
tsc --removeComments myFile.ts
删除您的评论
您可以在Typescriptlang.org tsconfig.json 页面上了解有关tsconfig.json
编译器选项的更多信息。
此外,根据Typescript 文档,设置true
或属性false
对以 ."removeComments"
开头的版权标题注释没有影响/*!
。因此,它们将始终出现在您的.js
文件中。
以 开头的注释将/*!
被保留。
例子:
/*! this comment remains untouched */
/* but this one will be removed */
是的,-c(或 --comments)选项;
语法:tsc [选项] [文件 ..]
示例: tsc hello.ts
tsc --out foo.js foo.ts
tsc @args.txt选项:
-c、--comments 发出注释以输出
...
当前使用 1.6.2,并且默认情况下会保留注释。编译器中唯一与注释相关的标志是删除注释。根据文档:
--removeComments
删除除以 /!* 开头的版权标题注释之外的所有注释
您将必须编辑基础 .csproj 文件并包含 -c 选项。
看看这里:
http://blorkfish.wordpress.com/2012/10/06/include-typescript-comments-in-generated-javascript/
Chutzpah 2.2现在原生支持 TypeScript,因此您无需担心这一点。您可以直接在 .ts 文件上运行 Chutzpah,它将运行您的测试。