在angular.json和component中导入libs之间的差异
我需要在Angular 7应用程序中导入jQuery,我注意到有两种方法可以做到这一点在angular.json和component中导入libs之间的差异,angular,typescript,Angular,Typescript,我需要在Angular 7应用程序中导入jQuery,我注意到有两种方法可以做到这一点 将jquery.min.js文件导入angular.json的scripts属性 使用import'jQuery'从ts代码导入jQuery(例如在main.ts或模块中) 这些方法之间有什么区别 使脚本全局化(如在index.html中放置脚本标记) 利用模块,避免全球范围的污染,并让Webpack等工具优化捆绑过程,例如通过“摇树” 使脚本全局化(如在index.html中放置脚本标记) 利用模块,避免全
scripts
属性import'jQuery'从ts代码导入jQuery(例如在main.ts或模块中)代码>
首先,我必须说,在大多数情况下,将JQuery与angular混合是一个坏主意,所以我希望您有一个好的理由。关于你的问题 当使用angular.json的
scripts
属性导入文件时,您可以完全做到这一点-导入整个文件并运行其代码。在angular上,将在执行angular应用程序代码之前完成
另一方面,在导入模块时(使用包管理器(如npm)安装模块后),您只能导入所需的模块,这通常意味着浏览器执行的代码更少。我通常是这样写的,因为在使用JQuery时,您很可能会导入整个库
我始终希望在可能的情况下使用软件包管理器进行安装,因为:
- 它更易于安装和更新
- 当使用像angular这样的框架时,它是一个标准
- 它只允许导入我需要的实际代码,而不允许导入整个库(这在JQuery上并不重要,但对于其他库来说非常有用)
scripts
属性导入文件时,您可以完全做到这一点-导入整个文件并运行其代码。在angular上,将在执行angular应用程序代码之前完成
另一方面,在导入模块时(使用包管理器(如npm)安装模块后),您只能导入所需的模块,这通常意味着浏览器执行的代码更少。我通常是这样写的,因为在使用JQuery时,您很可能会导入整个库
我始终希望在可能的情况下使用软件包管理器进行安装,因为:
- 它更易于安装和更新
- 当使用像angular这样的框架时,它是一个标准
- 它只允许导入我需要的实际代码,而不允许导入整个库(这在JQuery上并不重要,但对于其他库来说非常有用)