学习的项目搭建流程

1.项目搭建+使用element实现首页布局

2.顶部导航菜单及与左侧导航联动的面包屑实现

3.封装一个ECharts组件

4.封装一个Form表单组件和Table表格组件

5.企业开发之权限管理思路讲解

项目搭建之前,我们先了解一下Yarn是什么?

“Yarn是由Facebook、Google、Exponent和Tilde联合推出了一个新的JS包管理工具,正如官方文档中写的,Yarn是为了弥补npm的一些缺陷而出现的。“

npm install 的时候巨慢。新项目要拉半天,删除node_modules,重新install还是慢

同一个项目,安装的时候无法保持一致性。由于package.json文件中版本号的特点,下面三个版本号在安装的时候代表不同的含义。

比如”5.0.3“表示安装指定的5.0.3版本,”~5.0.3"表示安装5.0.X中最新的版本,“^5.0.3”表示安装5.X.X中最新的版本。这会导致,版本不一致出现bug.

   安装的时候,包会在同一时间下载和安装,中途包报错,但是npm会继续下载和安装包。因为npm会把所有的日志输出到终端,有关错误包的错误信息就会在一大堆npm打印的警告中丢失掉,并且你甚至永远不会注意到实际发生的错误

Yarn的优点?

速度快。

原因,

1.并行安装:npm按照队列执行每个package,Yarn是同步执行所有任务。

2.离线模式:如果之前已经安装过一个软件包,用Yarn再次安装时之间从缓存中换取,就不用像npm那样再从网络下载了。

安装版本统一

为了防止拉取到不同的版本,Yarn 有一个锁定(lock file)记录了被确切安装上的模块的版本号。

每次只要新增一个模块,Yarn就会创建(或更新)yarn.lock这个文件。npm也有处理相同版本的packages,但需要开发者执行npm shrinkwrap命令。这个命令将会生成一个锁定文件,在执行npm install的时候,该锁定文件会先被读取。npm和Yarn不同,Yarn是默认生成锁定文件。npm是手动执行命令。

更简洁的输出

npm的输出信息比较冗长。命令行里不断打印所有安装上的依赖。Yarn结合emoji直观且直接地打印出必要的信息,也提供了一些命令供开发者查询额外的安装信息。

**多注册来源处理

**所有的依赖包,不管他被不同的库间接关联引用多少次,安装这个包时,只会从一个注册来源去装,要么是npm要么是bower,防止出现混乱不一致。

更好的语义化

yarn改变了一些npm命令的名称。比如 yarn add/remove,感觉上比npm原本的install/uninstall要更清晰。

Yarn和npm命令对比

npm                                                                 yarn

npm install                                                                 yarn

npm install react --save                                              yarn add react

npm uninstall react --save                                           yarn remove react

npm install react --save-dev                                        yarn add react --dev

npm update --save                                                      yarn upgrade