本周写日志零碎,须要咱们本人初始化一个 angular 我的项目,在初始化过程中遇到很多问题
问题
版本问题
因为初始化时 angular 版本问题导致无奈应用单元测试,而后尝试本人初始化一个 angular 我的项目,在初始化过程中遇到一些问题。
首先是我初始化的的时候因为我电脑上装的 Angular-cli 的版本是教程的版本 11.0.7 这个版本单元测试尽管没有问题,然而在应用团队一些库的时候呈现问题,因为智慧社区的版本是 12.1.2,而教程的版本比拟旧,有一些库在引入时会有问题。
解决办法
最开始想到的是有没有间接就能够对以后我的项目降级的办法,通过 Google 后,发现能够执行 ng update 进行降级,然而那个博客写的不太分明,我执行后发现没什么成果,然而在博客中发现这样一句话
而后尝试间接批改 package 中所有 @angular 的版本号,而后不报错,这种做法尽管感觉不太靠谱,然而能用。package.json 的 devDependencies 区列出的这些包能够帮忙你在本机开发利用
之后就没有再管这个货色,但在写博客时又在官网文档中发现一个十分有用的工具
angular 更新指南
这个工具会通知你如何进行更新
ng update
通过运行以下命令,对外围框架和 CLI 的以后稳固版本执行根本更新
ng update @angular/cli @angular/core
要从一个次要版本更新到另一个,请应用以下格局
ng update @angular/cli@^<major_version> @angular/core@^<major_version>
咱们倡议你始终更新到最新的补丁版本,因为它蕴含咱们自最后的主版本以来公布的修复程序。例如,应用以下命令获取最新的 10.xx 版本并应用该版本进行更新。
ng update @angular/cli@^10 @angular/core@^10
总结
对于一个刚开始的我的项目最好的更新办法就是间接删了,切换 angular-cli 的版本,而后间接新建,如果时曾经写了很多的则须要用下面提到的工具,依据给出的办法更新
angular 配置文件
一个 angular 文件初始化时有如下文件
├── README.md 我的项目介绍文件,前期咱们能够变更为对以后我的项目的介绍,比方我的项目实现了什么性能,在开发时须要什么
├── angular.json Angular 我的项目的配置文件
├── e2e 专门放集成测试文件的文件夹
├── karma.conf.js Karma 对应的配置文件
├── node_modules 本我的项目依赖的其它 npm 包
├── package-lock.json 本我的项目依赖于其它包(库)的具体装置状况(版本、下载地址等)├── package.json 本我的项目依赖于其它包(库)的状况
├── src 源代码文件夹
├── tsconfig.app.json typescript 相干的配置文件
├── tsconfig.json typescript 相干的配置文件
├── tsconfig.spec.json typescript 测试相干的配置文件
└── tslint.json 语法校验配置文件
智慧社区次要批改的只有
TypeScript 配置
TypeScript 是 Angular 利用开发中应用的主语言。它是 JavaScript 的“方言”之一,为类型平安和工具化而做了设计期反对。
浏览器不能间接执行 TypeScript。它得先用 tsc 编译器转译 (transpile) 成 JavaScript,而且编译器须要进行一些配置。
官网文档链接
package-lock.json
无论应用 npm 还是 yarn 装置的包,都会记录在
package.json 文件中。
CLI 的 ng new 命令会在创立新的工作区的同时创立一个 package.json。这个 package.json 用于此工作区中的所有我的项目,包含由 CLI 在创立工作区时创立的那个初始我的项目。
最后,这个 package.json 包含一组初始包,其中有些是 Angular 本身须要的,另一些是用来反对一些常见的利用场景。随着利用的演变,你可能会往 package.json 中增加甚至移除一些包。
package.json 文件中的包被分成了两组:
dependencies 是运行利用的根底,包含
Angular 包:Angular 的外围和可选模块,它们的包名以 @angular/ 结尾。
反对包:那些 Angular 利用运行时必须的第三方库。
腻子脚本:腻子脚本负责抹平不同浏览器的 JavaScript 实现之间的差别。
devDependencies 只有在开发利用时才会用到。
tslint.json
利用 npm 装置的 TypeScript 语法查看器 (linter) 检测 TypeScript 代码并在你违反它的规定时提醒你。
这个文件在智慧社区中并没有
在有这个文件的时候很多罕用的语法都会报错。
总结
以前都是老师建好了我的项目,咱们间接写组件,当初要咱们本人从头开始一个我的项目,在最开始的时候会遇到很多问题,当然也了解了很多根本的货色