我只是从Angular开始,而有些概念对我来说却很模糊:
如果我可以直接从https://jquery.com/下载npm install jquery
并添加到{{,为什么我需要安装jquery(angular.json
)并导入jquery.js
文件中? 1}}文件夹并添加到assets
之后?
关于angular.json
样式和脚本标签,我们在Angular文档中具有以下内容:
您要添加的所有CSS文件都不会从您的文件中引用 模块,以及您将不会导入的任何JavaScript文件 到您的TypeScript文件中
因此,如果我需要在angular.json
中使用一些CSS类,我是否不应该将此CSS放在car.component.html
中?而且,如果我需要在(angular.json
这样的TypeScript类中使用jQuery,我也不应将它放在car.service.ts
中吗?我看到很多教程,它们是在angular.json
中以及在TypeScript服务类中导入后添加jQuery的。
据我所知,Angular的工作只是将所有Angular的东西(例如模块,指令,打字稿等)转换为HTML + Javascript单页。当我查看dist文件夹时,这种想法就是这样,我应该只看到HTML + javascript,而没有Angular的东西。但是在dist文件夹的angular.json
里面,我看到了index.html
,对我来说,这是Angular的东西,应该翻译成HTML代码,不是吗?
最后,看着dist文件夹中的<app-root>
,我看不到index.html
文件中插入了jquery.js
,bootstrap.js
和其他JavaScript,但是一切正常精细。是否将这些文件插入运行时?
答案 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
)。