删除已编译输出中的引用标记

时间:2015-08-11 16:06:03

标签: typescript

我使用命令

将所有.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按预期工作。但是当坐在服务器上时,参考标签看起来毫无意义。是否有从已编译源中删除这些选项的选项?或者我认为这些没有被使用(可能在使用源地图进行调试时)?

1 个答案:

答案 0 :(得分:7)

正如评论中所指出的,有两种方法可以删除引用。

  1. 使用tsconfig.json无需/// <reference>个标签 共。例如:

    /// <reference path="../references/backbone.d.ts" />
    

    变为

    {
      "compilerOptions": {
        ...
      },
      "files": [
        'references/backbone.d.ts'
      ]
    }
    

    tsconfig.json内。

  2. 如果您不想使用配置文件,请缩小已编译的文件 使用Closure Compiler等工具的JavaScript将删除所有内容 评论和参考。