npm & yarn

Intro

npm

NPM 是随同 NodeJS 一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:

  • 允许用户从 NPM 服务器下载别人编写的第三方包到本地使用。
  • 允许用户从 NPM 服务器下载并安装别人编写的命令行程序到本地使用。
  • 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

摘自:http://www.runoob.com/nodejs/nodejs-npm.html

yarn

Yarn 对你的代码来说是一个包管理器, 你可以通过它使用全世界开发者的代码,或者分享自己的代码。 Yarn 做这些快捷、安全、可靠,所以你不用担心什么。

通过 Yarn 你可以使用其他开发者针对不同问题的解决方案,使自己的开发过程更简单。 使用过程中遇到问题,你可以将其上报或者贡献解决方案。一旦问题被修复,Yarn会更新保持同步。

代码通过包(package)(或者称为模块(module))的方式来共享。 一个包里包含所有需要共享的代码,以及描述包信息的文件,称为 package.json。

实质上,yarn 使用的还是 npm 中的包。


Docs

package.json

pre-commit

1
yarn add -D pre-commit

在提交 commit 前进行构建

1
2
3
4
5
6
7
8
9
{
...
"scripts": {
"build": "gulp build",
"prepublish": "yarn build"
},
"pre-commit": ["build"]
...
}

Command

npm

npm package

  • npm login 登陆 npm (若使用其他镜像,需要切换回官网 npm config set registry http://registry.npmjs.org )
  • npm publish 发布 npm 包
  • npm version major | minor | patch 更新不同版本号

  • 使用 npm update <package> 可以把当前目录下node_modules子目录里边的对应模块更新至最新版本。

  • 使用 npm update <package> -g 可以把全局安装的对应命令行程序更新至最新版。

update

  • 更新 npm : npm install npm -g

传入参数

myVar 为自定义变量名称

1
npm run <script> -- <something>

Example:

1
2
3
"scripts": {
"hello": "echo hello"
}
1
2
3
npm run hello -- yunyoujun
# result
hello "yunyoujun"

yarn

upgrade

  • 更新 yarn : yarn upgrade [package]
  • 强制更新 : yarn upgrade [package] --latest

Package

Tools

nvm

  • 简介:可用来安装与管理 node.jsnpm 版本。(严格来说,并不算npm的工具包,不过是管理 node.jsnpm 的好工具。)
  • GitHub : https://github.com/creationix/nvm
  • 使用方法 : 参见GitHub主页说明。(推荐使用git方式安装,更新方便。)
1
2
3
4
//从github克隆nvm项目代码
git clone https://github.com/creationix/nvm.git
//安装稳定版本
nvm install stable 或者 latest

Windows 系统下,可下载 nvm-setup.zip 解压后使用 exe 文件直接安装即可。

nrm

  • 简介: nrm 可以帮助你方便快捷地在不同的 npm registries 中切换。(不同 npm 工具包下载源) 现包括: npm, cnpm, taobao, nj(nodejitsu), rednpm .
  • GitHUb : https://github.com/Pana/nrm
  • 使用方法 : 可参见 GitHub 主页说明。

yrm

作用和使用方法都与 nrm 类似,可切换 yarn registries。(不过使用时发现两者其实是对同一个源进行切换,其实 nrm 就足够了。)

1
npm install -g yrm
1
2
3
4
$ yrm use npm

YARN Registry has been set to: https://registry.npmjs.org/
NPM Registry has been set to: https://registry.npmjs.org/

gh-pages

帮助快速发布 gh-pages

npm的gh-pages结合github发布repository网站


Framework

express

koa


Reference


To Be Continued.