TypeScript: компиляция удаляет не связанные ссылки импорта

В нашем проекте мыиспользовать RequireJS в качестве нашего загрузчика модулей. Некоторые из наших модулей будут влиять на глобальные библиотеки, и, следовательно, выиграютне могут быть непосредственно использованы в модуле, на который они ссылаются.

Пример:

define(['definitely/goingto/usethis/','just/referencingthis/forpackaging'], function(useThis) {
    useThis.likeIPromised();

    // the following call can only be made when the second required file is available
    someGlobalAvailableVariable.someMethod();
});

Это работает как ожидалось при написании моих модулей на JavaScript. Тем не менее, мыМы переводим наш проект шаг за шагом на TypeScript. Учитывая приведенный выше пример, это приводит к:

import useThis = module("definitely/goingto/usethis/");
import whatever = module("just/referencingthis/forpackaging");

useThis.likeIPromised();

// I've written a definition file so the following statement will evaluate
someGlobalAvailableVariable.someMethod();

И при компиляции этого в JavaScript,компилятор хочет быть полезным и удаляет все неиспользуемые импорта, Таким образом, это нарушает мой код, потому что второй импортированный модуль нет доступно.

Моя текущая работа состоит в том, чтобы включить избыточное назначение, но это выглядит некрасиво:

import whatever = module("just/referencingthis/forpackaging");
var a = whatever; // a is never ever used further down this module

Кто-нибудь знает, если этоМожно ли настроить компилятор TypeScript, чтобы не оптимизировать модули во время компиляции?

Ответы на вопрос(2)

Ваш ответ на вопрос