我需要在我的Angular 7应用程序中导入jQuery,我注意到有两种做到这一点的方法。
- 导入 jquery.min.js 文件中的
scripts
属性 angular.json - 使用
import 'jquery';
从TS代码(例如在Main.TS或模块中(导入jQuery
这些方法有什么区别?
-
使脚本全局(就像在index.html中放置脚本标签(
-
使用模块,避免了全局范围污染,并让WebPack之类的工具优化了捆绑过程,例如通过"摇树"。
首先,我必须说,在大多数情况下,将jQuery与Angular混合是一个坏主意,所以我希望您有充分的理由。关于您的问题
使用 angular.json的scripts
属性导入文件时,您就是这样做的 - 导入整个文件并运行其代码。在Angular上,将在执行Angular App代码之前完成。
另一方面,导入模块时(使用 npm > NPM 的软件包安装后,您只能导入所需的模块,这通常意味着较少的代码浏览器。我通常写的是,因为当使用jQuery时,您很可能无论如何都会导入整个库。
我总是希望在可能的情况下使用软件包管理器安装,因为:
- 安装和更新更容易
- 使用Angular等框架 是标准
- 它仅允许导入我需要的实际代码,而不是整个库(在jQuery上的情况并不重要,但对其他库确实有用(。