esbuild:导入依赖jquery的js文件时,console返回“jQuery is not defined”

kninwzqo  于 2023-11-17  发布在  jQuery
关注(0)|答案(2)|浏览(149)

当使用esbuild时,我可以将jQuery导入到我的bundle中。导入jQuery后,我可以调用它的函数。
但是,如果我还导入了一个依赖jQuery的文件,那么一旦页面加载,我就会在控制台中看到“jQuery not defined”。
所以看起来jQuery可以被导入和使用,但是依赖于jQuery的文件是不可用的:它们看不到jQuery对象。
最初,我试图只导入jQuery,然后导入依赖于它的脚本。这会产生错误:

import jQuery  from './jquery-3.7.1.js';
import './otherFile.js';

字符串
我尝试的下一件事是在导入jQuery之后,在导入另一个脚本之前,立即使jQuery全局可用,但这也会导致错误:

import jQuery  from './jquery-3.7.1.js';
window.jQuery = jQuery;
import './otherFile.js';


那么,当我使用esbuild时,我如何才能使jQuery对依赖它的文件可用呢?
我想这个问题也会延伸到其他库:如果我使用esbuild,我如何允许脚本使用它们的依赖项?

mbskvtky

mbskvtky1#

我认为问题出在otherFile.js上,也许文件使用全局jquery,但导入jquery是局部var。
你可以使用脚本导入解决这个问题。像

<script src='***/jquery-3.7.1.js>

字符串

zrfyljdw

zrfyljdw2#

导入的作用域是模块,而不是全局变量。
全局最好首先避免。

每个想要使用jQuery的模块都应该自己导入它。

相关问题