11

我正在尝试使用 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 不删除我的导入语句,或者我必须做其他事情来确保我的路由器加载?

PS:我使用 commonjs 将我的 typescript 代码编译为 ES5。

编辑:这个问题与TypeScript 不同: import module with only statements。我在使用第三方库时遇到了这个问题,所以我不想更改它们。另外我使用的是 commonjs 模式,所以amd-dependency不能解决我的问题!

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

4

1 回答 1

4

如何指示 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
于 2015-06-22T00:36:23.743 回答