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

Typescript removes import statements not used in code

本文关键字:导入 语句 未使用 删除 代码 Typescript      更新时间:2023-09-26

我正在尝试使用Typescript和jspm来制作一个角度应用程序。问题是当你想要确保加载.js文件时,在jspm中你必须编写一个导入,并确保文件在运行代码之前加载。但是打字稿删除了我的导入。这是我写的打字稿代码。我必须加载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 不删除我的导入语句,或者我必须做其他事情来确保我的路由器加载?

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

编辑:这个问题与TypeScript不同:仅包含语句的导入模块。我在使用第三方库时遇到此问题,所以我不想更改它们。我也在使用 commonjs 模式amd-dependency所以不能解决我的问题!

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

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

您需要使用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