Подтвердить что ты не робот

Typescript удаляет операторы импорта, не используемые в коде

Я пытаюсь использовать Typescript и jspm для создания приложения angular. Проблема в том, что вы хотите обеспечить загрузку файла .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: Я скомпилирую код Typescript для ES5 с помощью commonjs.

РЕДАКТИРОВАТЬ: Этот вопрос не совпадает с TypeScript: модуль импорта только с отчетами. У меня эта проблема работает с сторонними библиотеками, поэтому я не хочу их менять. Также я использую шаблон commonjs, поэтому amd-dependency не исправляет мою проблему!

EDIT 2: Еще одна проблема заключается в том, что я не могу требовать от файлов, отличных от js-модулей, в моем Typescript коде.

4b9b3361

Ответ 1

Как я могу указать 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