Typescript删除代码中未使用的import语句

时间:2015-06-21 05:22:38

标签: javascript angularjs typescript typescript1.5 jspm

我正在尝试使用Typescript和jspm来创建一个有角度的应用程序。问题是当你想确保加载.js文件时,在jspm中你必须编写一个导入,它确保在运行你的代码之前加载文件。但是Typescript删除了我的导入。这是我编写的Typescript代码。我必须加载angular-new-router然后将其添加到我的模块依赖项。

import angular = require('angular');
import MainController = require('./controllers/MainController');
import NgNewRoute = require('angular-new-router');

console.log(angular.version);

var appModule = angular.module('app', ['ngNewRouter']);
MainController.register(appModule);

export = appModule;

我的问题:如何指示Typescript不删除我的import语句,或者我必须做其他事情以确保我的路由器加载?

PS:我使用commonjs将我的打字稿代码编译为ES5。

编辑:此问题与TypeScript: import module with only statements不同。我在使用第三方库时遇到此问题,因此我不想更改它们。我也在使用commonjs模式,因此amd-dependency无法解决我的问题!

编辑2:另一个问题是我的Typescript代码中不能要求js模块以外的文件。

1 个答案:

答案 0 :(得分:3)

  

如何指示Typescript不删除我的import语句,或者我必须做其他事情以确保我的路由器加载

您需要使用import中的某些内容作为变量,例如

import foo = require('./foo'); 
var bar = foo; // Like this

而不只是:

import foo = require('./foo'); 
var bar:foo; // This will not cause an import in the generated JavaScript