NodeJS环境配置
基础环境
NVM
NVM可以在本地同时安装多个 node 版本并进行切换,使用方法:
# 安装 NVM
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash
# or
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash
# 配置到 SHELL 启动
cat << EOF >> ~/.zshrc
export NVM_DIR=~/.nvm
. $(brew --prefix nvm)/nvm.sh
EOF
# 安装最新版本
nvm install node && nvm alias default node
# 安装指定版本
nvm install 5.0
# 使用指定版本
nvm use 5.0
# 查看已安装版本
nvm ls
# 修改淘宝镜像
npm config set registry https://registry.npm.taobao.org
npm config set disturl https://npm.taobao.org/dist
NPM
npm有两层含义。一层含义是Node.js的开放式模块登记和管理系统,网址为 http://npmjs.org 。另一层含义是Node.js默认的模块管理器,是一个命令行下的软件,用来安装和管理node模块。
常规用法:
# 搜索包
npm search [key]
# 安装某个包的最新版本
npm install [package name]@latest
# 安装某个包的指定版本
npm install [package name]@latest
# 卸载某个包
npm uninstall [package name]
# 更新(递归深度9999)
npm --depth 9999 update
创建自己的软件包:
# 初始化
npm init -y
# 查看已安装
npm list
# 运行 scripts 字段项
npm run [name]
# 内置命令
npm start = npm run start
npm test = npm run test
# 不输出npm命令头
npm run -s test
npm run为每条命令提供了pre-和post-两个钩子(hook),常见的 hook 有:
prepublish:发布一个模块前执行。
postpublish:发布一个模块后执行。
preinstall:安装一个模块前执行。
postinstall:安装一个模块后执行。
preuninstall:卸载一个模块前执行。
postuninstall:卸载一个模块后执行。
preversion:更改模块版本前执行。
postversion:更改模块版本后执行。
pretest:运行npm test命令前执行。
posttest:运行npm test命令后执行。
prestop:运行npm stop命令前执行。
poststop:运行npm stop命令后执行。
prestart:运行npm start命令前执行。
poststart:运行npm start命令后执行。
prerestart:运行npm restart命令前执行。
postrestart:运行npm restart命令后执行。
npm install默认会安装dependencies字段和devDependencies字段中的所有模块,如果使用production参数,可以只安装dependencies字段的模块。
npm install --production
# Or
NODE_ENV=production npm install
- –save:模块名将被添加到dependencies,可以简化为参数-S
- –save-dev: 模块名将被添加到devDependencies,可以简化为参数-D
- --force: 强制重新安装,可以简化为参数-f
Babel
# 命令行工具
npm install --global babel-cli
# ES2015转码规则
npm install --save-dev babel-preset-es2015
# react转码规则
npm install --save-dev babel-preset-react
# ES7不同阶段语法提案的转码规则(共有4个阶段),选装一个
npm install --save-dev babel-preset-stage-0
npm install --save-dev babel-preset-stage-1
npm install --save-dev babel-preset-stage-2
npm install --save-dev babel-preset-stage-3
.babelrc
{
"presets": [
"es2015",
"react",
"stage-2"
],
"plugins": []
}
常规用法:
# 转码结果输出到标准输出
babel example.js
# 转码结果写入一个文件
# --out-file 或 -o 参数指定输出文件
babel example.js --out-file compiled.js
# 或者
babel example.js -o compiled.js
# 整个目录转码
# --out-dir 或 -d 参数指定输出目录
babel src --out-dir lib
# 或者
babel src -d lib
# -s 参数生成source map文件
babel src -d lib -s
常用包
- pm2
- nodemon
- react-native-cli
- Express
- browserify