在angular.json和component中导入libs之间的差异

在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中放置脚本标记) 利用模块,避免全

我需要在Angular 7应用程序中导入jQuery,我注意到有两种方法可以做到这一点

  • jquery.min.js文件导入angular.json的
    scripts
    属性
  • 使用
    import'jQuery'从ts代码导入jQuery(例如在main.ts或模块中)
  • 这些方法之间有什么区别

  • 使脚本全局化(如在index.html中放置脚本标记)

  • 利用模块,避免全球范围的污染,并让Webpack等工具优化捆绑过程,例如通过“摇树”

  • 使脚本全局化(如在index.html中放置脚本标记)

  • 利用模块,避免全球范围的污染,并让Webpack等工具优化捆绑过程,例如通过“摇树”


  • 首先,我必须说,在大多数情况下,将JQuery与angular混合是一个坏主意,所以我希望您有一个好的理由。关于你的问题

    当使用angular.json的
    scripts
    属性导入文件时,您可以完全做到这一点-导入整个文件并运行其代码。在angular上,将在执行angular应用程序代码之前完成

    另一方面,在导入模块时(使用包管理器(如npm)安装模块后),您只能导入所需的模块,这通常意味着浏览器执行的代码更少。我通常是这样写的,因为在使用JQuery时,您很可能会导入整个库

    我始终希望在可能的情况下使用软件包管理器进行安装,因为:

    • 它更易于安装和更新
    • 当使用像angular这样的框架时,它是一个标准
    • 它只允许导入我需要的实际代码,而不允许导入整个库(这在JQuery上并不重要,但对于其他库来说非常有用)

    首先,我必须说,在大多数情况下,将JQuery与angular混合是一个坏主意,所以我希望您有一个好的理由。关于你的问题

    当使用angular.json的
    scripts
    属性导入文件时,您可以完全做到这一点-导入整个文件并运行其代码。在angular上,将在执行angular应用程序代码之前完成

    另一方面,在导入模块时(使用包管理器(如npm)安装模块后),您只能导入所需的模块,这通常意味着浏览器执行的代码更少。我通常是这样写的,因为在使用JQuery时,您很可能会导入整个库

    我始终希望在可能的情况下使用软件包管理器进行安装,因为:

    • 它更易于安装和更新
    • 当使用像angular这样的框架时,它是一个标准
    • 它只允许导入我需要的实际代码,而不允许导入整个库(这在JQuery上并不重要,但对于其他库来说非常有用)