09、React系列之--使用yarn包管理工具
PS:转载请注明出处 React系列教程
1、什么是yarnyarn是facebook(2016年10月11日)开源的一款代替npm的js包管理工具 2、yarn的特点相比于node的亲儿子npm来说,yarn有以下优势
yarn安装依赖的过程分为三步
npm 客户端把依赖安装到 node_modules目录的过程具有不确定性。这意味着当依赖的安装顺序不同时,node_modules 目录的结构可能会发生变化。这种差异可能会导致类似“我的机子上可以运行,别的机子不行”的情况,并且通常要花费大量时间定位与解决 Yarn 通过 lockfiles 文件以及一个确定性的、可靠的安装算法,解决了版本问题和 npm 的不确定性问题 3、安装yarn1、在mac平台上有多种方式,下面介绍两种
前提是要安装Homebrew brew update brew install yarn
export PATH="$PATH:$HOME/.yarn/bin"
在命令行输入以下命令,能看到版本信息则证明成功 yarn --version
npm install yarn -g
2、在win平台上安装yarn
下载地址https://yarnpkg.com/latest.msi
3、Linux平台下安装yarn这部分就不说了,非常简单,也是使用命令行安装,具体可以看官方安装方式https://yarnpkg.com/en/docs/install#linux-tab 4、yarn使用yarn的使用方式和npm大厅相近,就是把npm的使用地方换成yarn并且添加三方模板组件使用是的yarn add xxx 我们来举例说明yarn是如何使用的,建立一个简单的demo,以React HelloWorld 项目为例来说明(使用yarn+webpack+babel),在mac环境下,win下面基本上类似
mkdir yarndemo
cd yarndemo
yarn init
我们可以看到和使用npm init结果是一样,会创建一个package.json文件
yarn add react react-dom
我们可以看到除了和npm install xxx –save 一样新建一个node_modules文件夹以外,还创建了一个yarn.lock文件。
yarn.lock 锁定了安装包的精确版本以及所有依赖项。有了这个文件,你可以确定项目团队的每个成员都安装了精确的软件包版本,部署可以轻松地重现,且没有意外的 bug,并且这个文件可以使得程序在不同的机器上可以攻取一致的体验 Yarn 锁定文件的和安装算法的存在,确保了将应用程序部署到生产环境时,安装的依赖在开发机器之间,产生的文件和文件夹结构完全相同。
yarn add webpack webpack-dev-server
yarn add babel-core babel-preset-es2015 babel-preset-react babel-loader
{
"presets":["react","es2015"] }
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>yarn demo</title>
</head>
<body>
<div id="container"></div>
<script src='./bundle.js'></script>
</body>
</html>
import React from 'react' ;
import ReactDOM from 'react-dom' ;
ReactDOM.render(
<h1>Hello World</h1>,document.getElementById('container')
);
module.exports = {
entry: __dirname +"/app/main.js",//唯一的入口文件
output:{
path: __dirname +"/public",//打包后文件存放的目录
filename:'bundle.js' //打包后输入的文件名
},devServer:{
contentBase: "./public",//本地服务器所加载的页面所在的目录
colors: true,//终端中输出结果为彩色
historyApiFallback: true,//不跳转
inline: true//实时刷新
},//新增加部分
module:{
loaders:[
//babel配置
{
test:/.js$/,exclude: /node_modules/,loader: 'babel'
}
]
}
}
"scripts":{
"start":"webpack-dev-server --progress --port 8888"
}
到此为止,我们就使用yarn+webpack+babel完成了一个简单的hello world demo,也体验了一下yarn的使用方式,和npm使用方式差不多,只不过命令不太一样而已 5、yarn和npm命令对比
yarn安装慢的问题使用以下命令来查看当前的源,默认是:官网 yarn config get registry
# -> https://registry.yarnpkg.com
改成taobao的源 yarn config set registry 'https://registry.npm.taobao.org'
#yarn config v0.17.3
#success Set "registry" to "https://#registry.npm.taobao.org".
#? Done in 0.06s.
然后使用yarn install就应该快多了。 yarn采坑之旅1、安装yarn,我采用npm来安装(mac系统)
npm install yran -g
export PATH="$PATH:$HOME/.yarn/bin"
将上述命令添加到你的.profile或.bashrc或是.zshrc或其它的文件中,我这里使用的是.zshrc
在命令行中运行以下命令: mkdir ~/Library/Caches/Yarn
最后完美解决 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |