【发布时间】:2014-03-31 13:31:12
【问题描述】:
全部。
我在 AMD 模式下使用 require.js 和 TypeScript,但在将 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()
并删除“未使用”引导导入。在正常情况下,这很好,但 bootstrap 实际上扩展了 jQuery,添加了类似
// bootstrap adds jQuery plugins like modal;
$(selector).modal()
因此,通过删除包含,jQuery 不再扩展为 modal() 等,我的代码失败了。
我需要的是一种告诉 TypeScript 它确实需要在所需模块列表中包含 'bootstrap'module 的方法。
有什么想法吗?
【问题讨论】:
标签: twitter-bootstrap requirejs typescript amd definitelytyped