Reference error: import jQuery in bootstrap toggle while using typescript

Reference error: import jQuery in bootstrap toggle while using typescript

我正在使用打字稿 AMD 模块。

在我的 app.ts 中,我得到了这些导入:

import $ from 'jquery';
import 'popper.js';
import 'bootstrap';
//import 'bootstrap-toggle';

我的代码有 jQuery、bootstrap 和 bootstrap-切换功能。 如果我像上面的代码一样注释掉 bootstrap 切换库,我的应用程序工作正常并且不显示错误。

但是没有我的 bootstrap-toggle 库,我无法使用这个库的功能。

如果我推荐它,我会收到以下错误:

ReferenceError: jQuery is not defined (in bootstrap-toggle.js)

我的 bootstrap-toggle.js 文件也在使用 jQuery 和这个函数:

function ($) {
...
}(jQuery);

我想,问题是我只为我的 app.js 包括了我的 jQuery 而不是在我的 bootstrap-toggle.js

但是我如何定义全局导入?我不会在我的 bootstrap-toggle.js 文件中以这种方式导入 jQuery,因为它是 here 的工具,不是我写的。

提前致谢。

此致,

索尼

我找到了我的解决方案。 typescript AMD 模块使用 require JS,所以它必须像这样设置一个 require js 配置文件:

requirejs.config({
    baseUrl: '',
    paths: { 
        app: 'app',
        jquery: 'jquery'
    },
    shim: {
        "bootstrap-toggle" : ["jquery"]
    }
});

如果 jQuery 应该可用于 bootstrap 切换,它需要 require 配置中的 shim 选项。