我正在.ts
使用该命令将所有文件编译成一个文件
tsc -out app.js app.ts --removeComments
Run Code Online (Sandbox Code Playgroud)
基于npm使用说明.问题是它之后仍然保留了编译代码中的所有引用标记!据我所知,这些在JavaScript中没用.
例如,这些TypeScript文件
Application.ts
/// <reference path="../references/backbone.d.ts" />
module Example {
export class Application extends Backbone.View<Backbone.Model> {
...
}
}
Run Code Online (Sandbox Code Playgroud)
和
app.ts
/// <reference path="Example/Application.ts" />
import Application = Example.Application;
class App extends Application {
...
}
Run Code Online (Sandbox Code Playgroud)
会编译成类似的东西
/// <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
Run Code Online (Sandbox Code Playgroud)
在sourceMappingURL
我绝对要包括在内,--removeComments
按预期工作在那里.但是当坐在服务器上时,参考标签看起来毫无意义.是否有从已编译源中删除这些选项的选项?或者我认为这些没有被使用(可能在使用源地图进行调试时)?
正如评论中所指出的,有两种方法可以删除引用.
使用完全tsconfig.json
消除了对/// <reference>
标签的需求.例如:
/// <reference path="../references/backbone.d.ts" />
Run Code Online (Sandbox Code Playgroud)
变
{
"compilerOptions": {
...
},
"files": [
'references/backbone.d.ts'
]
}
Run Code Online (Sandbox Code Playgroud)
在...内tsconfig.json
.
如果您不想使用配置文件,使用Closure Compiler之类的工具缩小编译的JavaScript 将删除所有注释和引用.
归档时间: |
|
查看次数: |
2168 次 |
最近记录: |