我使用命令
将所有.ts
个文件编译成一个文件
tsc -out app.js app.ts --removeComments
基于npm usage instructions。问题是它之后仍然保留了编译代码中的所有引用标记!据我所知,JavaScript中没有这些功能。
例如,这些TypeScript文件
Application.ts
/// <reference path="../references/backbone.d.ts" />
module Example {
export class Application extends Backbone.View<Backbone.Model> {
...
}
}
和
app.ts
/// <reference path="Example/Application.ts" />
import Application = Example.Application;
class App extends Application {
...
}
将编译成类似
的内容/// <reference path="../references/backbone.d.ts" />
var __extends = (this && this.__extends) || function (d, b) {
...
};
var Example;
(function (Example) {
var Application = (function (_super) {
...
})(Backbone.View);
Example.Application = Application;
})(Example || (Example = {}));
/// <reference path="Example/Application.ts" />
var Application = Example.Application;
var App = (function (_super) {
...
})(Application);
//# sourceMappingURL=app.js.map
我绝对想要包含sourceMappingURL
,--removeComments
按预期工作。但是当坐在服务器上时,参考标签看起来毫无意义。是否有从已编译源中删除这些选项的选项?或者我认为这些没有被使用(可能在使用源地图进行调试时)?
答案 0 :(得分:7)
正如评论中所指出的,有两种方法可以删除引用。
使用tsconfig.json
无需/// <reference>
个标签
共。例如:
/// <reference path="../references/backbone.d.ts" />
变为
{
"compilerOptions": {
...
},
"files": [
'references/backbone.d.ts'
]
}
在tsconfig.json
内。
如果您不想使用配置文件,请缩小已编译的文件 使用Closure Compiler等工具的JavaScript将删除所有内容 评论和参考。