【问题标题】:Should I use import jQuery in a script if jQuery is being added manually?如果手动添加 jQuery,我应该在脚本中使用 import jQuery 吗?
【发布时间】: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 的假设是 $ 在全球范围内可用,因为它是 &lt;script&gt; 标签的 src
  • 注意不要在您的项目中使用冲突的 jquery 版本。这可能是难以修复的错误的根源。

标签: javascript jquery webpack


【解决方案1】:

是的,如果您的模块需要 jQuery,导入 jQuery 是一个很好的做法 - 显式声明有利于可读性,并且允许工具知道 $ 指的是什么!但是,您可以(应该)configure webpack to not bundle jQuery as a dependency, but assume it is already loaded and available from a global variable

【讨论】:

  • 谢谢,这完全回答了我原来的问题。
猜你喜欢
  • 1970-01-01
  • 2011-09-29
  • 2011-08-20
  • 1970-01-01
  • 1970-01-01
  • 2017-10-24
  • 1970-01-01
  • 2016-09-23
  • 2020-01-17
相关资源
最近更新 更多