Node.js:java script的运行环境(平台)
nvm 是 Mac 下的 node 管理工具,有点类似管理 Ruby 的 rvm,如果需要管理 Windows 下的 node,官方推荐使用 nvmw 或 nvm-windows。不过,nvm-windows 并不是 nvm 的简单移植,他们也没有任何关系。
安装nvm
Mac下安装命令
git clone https://github.com/creationix/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`
- 然后输入安装脚本(.bash_profile文件)
touch ~/.bash_profile
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" ||
printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
- 淘宝镜像
vim ~/.bash_profile
// 添加下两行代码
export NVM_NODEJS_ORG_MIRROR=http://npm.taobao.org/mirrors/node
export NVM_IOJS_ORG_MIRROR=http://npm.taobao.org/mirrors/iojs
// 重启配置文件
source ~/.bashrc
Win安装
- windows系统安装简单,下载傻瓜式安装即可
- 下载nvm-setup.zip下载地址
- 淘宝镜像:setting.txt文件添加下两行代码
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/
OS X/Linux安装
- OS X 的话,可以用 X-Code 的命令行工具
xcode-select --install
- 如果是 Debian 发行版
sudo apt-get install build-essential
- 安装命令
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
- 或者
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
nvm常用命令:
nvm ls-remote:查看node存在的所有版本
nvm install node版本号:安装对应的node版本
nvm use node版本号:使用指定的node版本
nvm uninstall node:删除已安装的指定版本
nvm ls:列出所有安装的版本
nvm alias default node版本号:改node默认版本
npm淘宝镜像
- 设置
npm config set registry https://registry.npm.taobao.org
- 查看
npm config get registry
commonjs规范
- 导出:module.exports=""
- 引入:require(" ")
- 详情见下面示例
JS工具库:loadsh
//初始化
npm init -y
npm i loadsh --save
//或者cnpm......或者淘宝镜像
详情见下面示例
全局对象:global(相当于window)
- 示例:
//index.js
let calc=require("./calculate")
let _=require("loadsh")
var name="node"
function helloName(){
console.log("hello "+name+"!")
}
helloName()
// commonjs规范
calc.add(1,2)
calc.del(10,5)
// loadsh
let arr=_.compact([0, 1, false, 2, '', 3])
console.log(arr)
// global
console.log(name+","+global.name)
//calculate.js
function add(a,b){
console.log(a+b)
}
function del(a,b){
console.log(a-b)
}
global.name="steven"
module.exports={
add,del
}