Typescript+JQuery+Bootstrap未捕获TypeError:$未定义

disbfnqx  于 12个月前  发布在  jQuery
关注(0)|答案(1)|浏览(87)

我有什么可能是一个简单的配置问题,但我是相当新的打字,所以我不知道我在做什么的时刻。

**设置:**我有一个typescript项目,它具有以下依赖项(以及其他依赖项)

“bootstrap”:“^4.5.0”,“bootstrap-datepicker”:“^1.9.0”,“jquery”:“^3.5.1”

**问题:**当我转到我的index.html文件时,我在bootstrap-datepicker.js:1630中得到错误消息。

未捕获的类型错误:$未定义
我在自己的.ts文件中使用了JQuery来导入这些内容
import * as $ from“jquery”;
但这个错误来自另一个库。我可以在我的index.html文件中添加一个脚本标签到jQuery.js的引用中,一切正常。大概这不是我应该如何解决它,因为jquery将在我的bundle.min文件中,然后作为一个独立的.js文件重复。我想我应该以某种方式注册$作为一个全局变量,可以被其他库使用?
任何指针将不胜感激。

a1o7rhls

a1o7rhls1#

今天我遇到了同样的问题,我解决了它。
在导入bootstrap及其插件库之前,导入jQuery并使其全局化

import $ from 'jquery';

global.$ = $;
global.jQuery = $;

import('bootstrap');

请注意,您必须使用import('bootstrap');而不是import 'bootstrap;,因为前者是动态导入,而后者不是。动态导入将在定义global.$global.jQuery后运行。
我没有使用bootstrap-datepicker的经验,但我想你可以复制我的例子并附加import('bootstrap-datepicker');关键是要确保在定义global.$global.jQuery之后导入这个东西。

相关问题