все.
Я использую require.js
и TypeScript в режиме AMD, и у меня возникают проблемы с импортом Bootstrap в мои сценарии. У меня есть такие операторы импорта;
import $ = require('jquery');
import ko = require('knockout');
import bootstrap = require('bootstrap');
И он преобразует его в этот JavaScript;
define(["require", "exports", 'jquery', 'knockout'],
function(require, exports, $, ko) {
...
});
Обратите внимание, что Bootstrap отсутствует в списке необходимых модулей. Это потому, что TypeScript «умный», отметив, что я никогда не ссылаюсь на импорт Bootstrap таким образом;
// this never appears in my code
bootstrap.blah()
И удаление «неиспользуемого» импорта начальной загрузки. В обычных случаях это нормально, но бутстрап на самом деле расширяет jQuery, добавляя такие вещи, как
// bootstrap adds jQuery plugins like modal;
$(selector).modal()
Таким образом, отбрасывая включение, jQuery больше не расширяется с помощью modal()
и т. д., и мой код не работает.
Что мне нужно, так это способ сообщить TypeScript, что ему действительно нужно включить 'bootstrap'
module в список необходимых модулей.
Есть идеи?