【发布时间】:2021-12-29 16:49:58
【问题描述】:
我正在维护一个现有项目,我看到了这个:
该网站已经以传统方式包含 jQuery(它是 WordPress,WordPress 默认包含 jQuery,除非您更改内容)。
<script src="cdn-or-local/jquery.js"></script>
然后该站点包含另一个 javascript 文件,该文件已使用 Webpack 和 Babel 编译。
<script src="wordpress-theme/dist/whatever.js"></script>
在原始的whatever.js 文件(不是编译的文件,而是人工创建的文件)上,它声明:
import $ from 'jquery';
$(document).ready(() => {
...
}
这让我很困惑。
据我所知,如果在加载whatever.js 文件之前已经加载了jQuery,那么$ 将已经被定义。
问题:我可以安全地省略import $ from 'jquery';吗?
【问题讨论】:
-
你可以做一个conditional import。这样,您的模块将始终拥有它需要的东西。
-
@RandyCasburn 以什么为条件?这也会使模块异步,并使一切复杂化。
-
@Bergi - OP 的假设是
$在全球范围内可用,因为它是<script>标签的src。 -
注意不要在您的项目中使用冲突的 jquery 版本。这可能是难以修复的错误的根源。
标签: javascript jquery webpack