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 に import ステートメントを削除しないように指示するにはどうすればよいですか? または、ルーターの読み込みを確実にするために何か他のことをしなければなりませんか?

PS: typescript コードを commonjs で ES5 にコンパイルします。

編集:この質問はTypeScript: import module with only statesと同じではありません。サードパーティのライブラリを使用する際にこの問題が発生するため、それらを変更したくありません。また、私はcommonjsパターンを使用しているためamd-dependency、問題は解決しません!

編集 2:もう 1 つの問題は、Typescript コードで js モジュール以外のファイルを要求できないことです。

4

1 に答える 1

4

importステートメントを削除しないように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 に答える