19

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. )

4

6 回答 6

17

自 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文件中。

于 2016-04-14T13:19:00.833 回答
14

以 开头的注释将/*!被保留。

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

于 2015-05-05T19:08:24.330 回答
9

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

语法:tsc [选项] [文件 ..]

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

选项:
   -c、--comments 发出注释以输出
...

于 2012-10-06T09:54:14.567 回答
7

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

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

于 2015-11-13T19:42:02.877 回答
4

您将必须编辑基础 .csproj 文件并包含 -c 选项。
看看这里:

http://blorkfish.wordpress.com/2012/10/06/include-typescript-comments-in-generated-javascript/

于 2012-10-06T12:48:02.373 回答
0

Chutzpah 2.2现在原生支持 TypeScript,因此您无需担心这一点。您可以直接在 .ts 文件上运行 Chutzpah,它将运行您的测试。

于 2012-10-25T22:00:26.357 回答