一、NodeJS环境
- 什么是nodejs
- 不是JS文件,也不是一个JS框架()
- 而是Server side Javascript runtime, 服务端的一个JS运行时
- 可以在node运行JS代码
- node中只能运行ECMAScript,无法使用 BOM 和 DOM
- 目前我们的JS是运行在浏览器内核中
- PHP是什么?是一门脚本语言也是一个运行环境
node是一个基于chrome v8引擎的javascript的运行环境。node使用事件驱动、非阻塞式I/O的模型,使其轻量又高效。node的包管理器npm,是全球最大的开源库生态系统。
二、Node环境搭建
mac node (建议使用nvm安装,方便版本切换)
pkg安装包-
mac NVM(Node Version Manager)
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.30.2/install.sh | bash $ echo '. ~/.nvm/nvm.sh' >> .bash_profile $ nvm install stable $ nvm alias default stable
Windows node (建议使用nvm安装,方便版本切换)
msi_x64 64位安装包
msi_x86 32位安装包-
windows nvm
- 下载nvm包,选择第一个: nvm-noinstall.zip
- 将文件内容解压到例如 c:\dev\nvm (将文件拷贝到c:\dev\nvm,解压到当前文件夹)
- 双击install.cmd不用输入,直接回车,之后再c盘中会生成一个settings.txt文件,将该文件剪切到c:\dev\nvm目录中
root: C:\dev\nvm
path: C:\dev\nodejs
arch: 64
proxy: none
node_mirror: http://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/
- 配置环境变量。刚才点击install.cmd文件,会在环境变量的系统变量中生成两个环境变量:
NVM_HOME
和NVM_SYMLINK
;修改这两个变量值,NVM_HOME
变量值为:C:\dev\nvm;
,NVM_SYMLINK
变量值为:C:\dev\nodejs;
,在path后面添;%NVM_HOME%;%NVM_SYMLINK%;
- 打开命令行:
nvm v
可以看到nvm版本信息,即表示安装完成; - 如果没有安装node,可以通过
nvm install latest
,下载node最新版本;
第一次下载,在使用use之前,`C:\dev`目录下没有nodejs文件夹,输入例如nvm use 6.3.0后,久会在`C:\dev`目录中看到nodejs文件夹;
nodejs不是单纯的文件夹,它是一个快捷方式,指向`C:\dev\nvm`中v6.3.0文件夹;
`C:\dev\nvm`文件夹下的vx.x.x即nodejs对应版本;
nvm list 查看已经安装的版本(版本号前面有带*,表示当前使用版本)
nvm install 6.3.0 安装对应node对应版本
nvm use 6.3.0 使用对应node版本
nvm --- node version manager(node版本管理器),因为NODE版本比较多,开发人员可能依赖很多版本;通过NVM,可以轻松切换于不同的版本之间;
三、NPM
NPM是什么
Node Package Manager即是Node应用程序依赖包的管理工具,方便于安装卸载更新等操作;
NPM是 Node 的开放式模块登记和管理系统,亦可以说是一个生态圈,一个社区;为什么使用NPM
- 包很多
- 场景:我需要用一个A,A依赖B,B依赖C
- 常见的包管理工具都有循环依赖的功能
- 你只需记住你要什么东西
- 常见的NPM操作
// 引导创建一个package.json文件(安装包的信息可保持到项目的package.json文件中,以便后续的其它的项目开发或者他人合作使用,也说package.json在项目中是必不可少的)
$ npm init
// 安装一个包,默认安装最新稳定版本
$ npm install package_name // 本地安装
$ npm install package_name -g // 全局安装
// 安装特定版本的包
$ npm install package_name@版本号
// 卸载
$ npm uninstall package_name // 卸载本地
$ npm uninstall package_name -g // 卸载全局
// 更新
$ npm update -g
// 查看依赖和它们之间的关系
$ npm ls
// 查看主要的依赖
$ npm ls --depth=0
// 查看全局的所有包()
$ npm ls --depth=0 -g
> 每个版本的nodejs中,都会自带npm,为了统一起见,需要安装一个全局的npm工具是有必要的,因为我们需要安装一些全局的其他包,不会因为切换node版本造成原来下载过的包不可用。
`$ npm config set prefix 'C:\dev\nvm\npm'`
// 上述是配置npm的全局安装路径,然后用户文件夹下会生成一个.npmrc的文件,文件内容为: `prefix=C:\dev\nvm\npm`
// 如果不使用上面方法,可以手动在用户文件夹下(C:\User\liming)创建.npmrc文件,文件内容为: `prefix=C:\dev\nvm\npm`
> `$ npm install npm -g `
// 下载npm包,在`C:\dev\nvm\npm`目录中可以看到下载中的文件,以后用nmp安装包时加上`-g`就可以把包安装在`C:\dev\nvm\npm`的全局路径下
// 再为这个npm配置环境变量,变量名`NPM_HOME`,变量值`C:\dev\nvm\npm`;然后再path最前面添加`;%NPM_HOME%`,注意该变量一定是加载`%NVM_SYMLINK%`之前;
// 如果安装不了(npm镜像源默认是在国外),可以先执行安装cnpm工具,之后通过cnpm安装: `cnpm install npm -g`
> `$ npm -v`
// 查看npm的版本,此时使用的都是统一的nmp包了
> `$ npm install -g cnpm --registry=https://registry.npm.taobao.org`
安装cnpm工具,并设置淘宝的镜像库,中国版的npm镜像库,`https://registry.npm.taobao.org/`淘宝的,`https://cnpmjs.org/`cnpm工具的, 他们都是npm官方的一个拷贝,他们会每隔10分钟同步一次 【非必要操作,如果下载比较慢可以切换到国内镜像】
> cnpm工具包如何安装? `cnpm install page_name -g`即将npm换为cnpm即可
# 四、NRM
NRM(Node Registry Manager)即是方便管理NPM的镜像源选择;
$ npm install -g nrm // 安装nrm
$ nrm ls // 查看镜像源列表
$ nrm use taobao // 即使用taobao的这个镜像源
$ nrm test // 测试镜像源的速度
# 五、Bower
[Bower官网](http://bower.io/)
- 什么是Bower
web应用程序依赖项管理工具【包的管理工具,还是重复的轮子】
- 为什么使用Bower
方便便捷的方式管理包
- Bower安装
$ npm install bower -g
- Bower使用
$ bower install page_name