本周总结:
- Yarn 学习
- Ajax 中 XHR 和 Fetch 的区别
Yarn
安装 Yarn
1 | # 当然,官方不建议这么安装 |
更换为淘宝镜像
1 | # 查询当前源 |
Yarn 命令
创建一个新项目,执行以下命令会生成 package.json
,里面有些配置和项目依赖。
1 | yarn init |
添加/移除 项目依赖
1 | # 添加项目依赖 |
CLI 命令比较
npm (v5) | Yarn |
---|---|
npm install |
yarn install |
(不适用) | yarn install --flat |
(不适用) | yarn install --har |
npm install --no-package-lock |
yarn install --no-lockfile |
(不适用) | yarn install --pure-lockfile |
npm install [package] |
yarn add [package] |
npm install [package] --save-dev |
yarn add [package] --dev |
(不适用) | yarn add [package] --peer |
npm install [package] --save-optional |
yarn add [package] --optional |
npm install [package] --save-exact |
yarn add [package] --exact |
(不适用) | yarn add [package] --tilde |
npm install [package] --global |
yarn global add [package] |
npm update --global |
yarn global upgrade |
npm rebuild |
yarn install --force |
npm uninstall [package] |
yarn remove [package] |
npm cache clean |
yarn cache clean [package] |
rm -rf node_modules && npm install |
yarn upgrade |
Ajax 请求
XMLHttpRequest
简单的来写一个 XMLHttpRequest
请求
1 | // 实例化一个对象 |
XMLHttpRequest.DONE = 4 表示请求完成
ps:原生的写起来有点费劲,不如直接用
jquery
来的快,一条龙服务,还带jsonp
跨域请求,舒服的一匹,但是随着事件的推移,又发现问题了,如果多次接连不断的请求就会产生回调地狱。于是fetch
就和Promise
就是出现了。
Fetch
与上面功能一样实现 get
访问 MDN
官方
1 | fetch('https://developer.mozilla.org/') |
代码简化了不知一点点,完爆XHR。
由于 fetch
内封装了 Promise
,也解决了回调地狱的问题,好用了很多很多。
就是兼容性有点遗憾