__WEBPACK_IMPORTED_MODULE_5_jquery__(.模态不是一个函数



我正在尝试打开引导模式,但它在全日历角度 2 中不起作用。

dayClick: function(date, jsEvent, view) {
        (<any>$('#myModal33')).modal('show');
        $('#click_date').val(date._d);
      }

我得到:

WEBPACK_IMPORTED_MODULE_5_jquery(...模态不是一个函数

如果我删除这个import * as $ from 'jquery';那么模态就可以工作了,但我也需要jQuery。

只需更改:

import * as $ from 'jquery';

如:

import * as $AB from 'jquery';

这解决了我的问题。 现在它的工作就像 vroom vroom....嘻嘻.....

我认为这个问题已经得到了回答。在 webpack 中管理 jQuery 插件依赖关系。

使用 ProvidePlugin 注入隐式全局变量

大多数遗留模块依赖于特定全局变量的存在,就像 jQuery 插件在 $ 或 jQuery 上所做的那样。在这种情况下,您可以配置 webpack,以便在每次遇到全局 $ 标识符时预置 var $ = require("jquery")。

可能需要 custom.typings.d.ts 来防止打字稿错误。

您可以安装"@types/jquery",但可能不需要此文件。

declare var $: any;

webpack.config.js

var webpack = require("webpack");
...
plugins: [
    new webpack.ProvidePlugin({
        $: "jquery",
        jQuery: "jquery"
    })
]

接受的答案确实有效,但这是我的想法,为什么$AB有效,但$无效。

@types/jquery页面中,它说包包含全局值$, Symbol and jQuery。在这种情况下,您需要从包中导入所有内容,但不能覆盖三个变量本身。

因此,只需将以下行添加到您的app.module.ts中,您就可以在整个应用程序中使用 $ 标记。

import * as AnythingThatIsNotDollarSignOrSymbolOrjQuery from "jquery"

相关内容

  • 没有找到相关文章

最新更新