了解导入JS和CSS文件的Angular方法

时间:2018-12-16 13:58:39

标签: angular

我只是从Angular开始,而有些概念对我来说却很模糊:

  1. 如果我可以直接从https://jquery.com/下载npm install jquery并添加到{{,为什么我需要安装jquery(angular.json)并导入jquery.js文件中? 1}}文件夹并添加到assets之后?

  2. 关于angular.json样式和脚本标签,我们在Angular文档中具有以下内容:

      

    您要添加的所有CSS文件都不会从您的文件中引用   模块,以及您将不会导入的任何JavaScript文件   到您的TypeScript文件中

    因此,如果我需要在angular.json中使用一些CSS类,我是否不应该将此CSS放在car.component.html中?而且,如果我需要在(angular.json这样的TypeScript类中使用jQuery,我也不应将它放在car.service.ts中吗?我看到很多教程,它们是在angular.json中以及在TypeScript服务类中导入后添加jQuery的。

  3. 据我所知,Angular的工作只是将所有Angular的东西(例如模块,指令,打字稿等)转换为HTML + Javascript单页。当我查看dist文件夹时,这种想法就是这样,我应该只看到HTML + javascript,而没有Angular的东西。但是在dist文件夹的angular.json里面,我看到了index.html,对我来说,这是Angular的东西,应该翻译成HTML代码,不是吗?

  4. 最后,看着dist文件夹中的<app-root>,我看不到index.html文件中插入了jquery.jsbootstrap.js和其他JavaScript,但是一切正常精细。是否将这些文件插入运行时?

1 个答案:

答案 0 :(得分:0)

1)可以同时使用两种方法,但是,通过NPM安装软件包是一个好习惯,因为它将安装所有其他依赖项。此外,通过NPM仅通过命令安装/更新似乎比手动下载库更实用。

2)您应该在car.component.css样式表中编写CSS。无需将CSS添加到angular.json中,因为您不希望将CSS全局应用,而要在组件内部应用。

3)您的理解是正确的!但是,请记住,您可以在HTML中创建任何自定义标签。 <app-root>实际上是一个自定义HTML标记,而不是棱角分明的东西。

4)这些JS库在构建时会插入到主JS文件中。尝试在丑化的JS文件中搜索它们(ctrl + f)。