安装Node.js
进入官网,点击Downloads,如图所示 Windows/Mac 平台我们可以直接下载安装包安装,而Linux 用户可以使用源码编译安装。选择合适的版本(LTS为稳定版本,Current为最新版本)。
安装完成后,在命令行输入
node -v
查看当前Node版本号
表示Node已经安装完成,版本为V8.11.3。
到这里其实Node已经安装完成了,下面是node环境的管理配置,嫌麻烦可以直接跳过。
安装nvm
nvm是Node的版本管理器,但是目前不支持windows,所以我选择用 nvm-windows代替。点击Download now,目前维护版本为1.1.7,点击nvm-setup.zip 解压安装。
安装完成之后,重新打开命令行工具,输入
nvm ls
查看当前安装的Node版本列表。
需要注意的是:nvm-windows 不能检测到系统之前安装的Node版本,我执行这条命令之后,提示Node版本列表为空。查了一下,发现nvm-windows 只能管理通过nvm安装的Node版本,官方建议是在安装nvm-windows之前卸载所有的Node版本,
但是我并没有卸载,而是执行了
竟然也安装成功了,在nvm的Node安装目录下,找到了该版本。nvm install v8.11.3
然而此时 查看Node版本 ,报错。接着,我尝试用nvm命令来指定Node版本
nvm use 8.11.3
然后在查看Node版本,OK,搞定了,这边稍微有点坑要注意一下。具体使用nvm-windows,请查看开源项目 nvm-windows官网,或者nvm官网,指令差不多,但有点区别,这里就不在赘述,感兴趣可以自行比较。
由于npm的服务器在国外,国内访问受网络波动影响较大,导致安装npm模块有时很慢,淘宝团队搭建了一个国内npm镜像——cnpm.这是一个完整 npmjs.org 镜像,可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。
cnmp通过下面的命令安装,代替默认的npm。
npm install -g cnpm --registry=https://registry.npm.taobao.org
意外
原本安装node.js会默认安装npm包管理工具,但是在上面安装nvm不仅仅出现Node命令失效,npm命令也失效了,真的坑。所以windows用户要么不要安装nvm-windows,要么在安装之前最好把原来的Node卸载干净,包括环境变量。
解决方案:找到原来的Node专用的命令行工具
执行 npm config set prefix="你的nvm.exe所在路径(可以打开环境变量查看NVM_HOME)" **配置npm的全局安装路径,执行完成后,会在当前执行路径下生成.npmrc文件,及npm的配置内容。
接着执行
npm install npm -g
就会在prefix对应的路径下安装一个全局的npm包了,npm安装其他包的时候加上-g,也会安装在这个目录,而且使用的是这时全局的npm。
如果不使用全局的npm安装其他包,使用这一指定版本的npm安装的包,nvm use切换到其他版本之后,npm命令行会再次失效。。。。
这时,重新打开命令行,执行
npm -v
哇,终于正常了。。。
接下来安装一下nrm来管理npm源。
npm install -g nrm
可以看到很多npm源,使用淘宝的npm源
nrm use taobao
好了 基本配置到这里差不多了,更多详情,查看Node.js官网,或者印记中文团队翻译的Node.js中文网(还是中文的看着舒服,感谢这些为中国开源工作做出巨大贡献的先驱们,致敬,学习!)
hello world
“hello world”是个神奇的代码,国际惯例,先跑一个试试。
我们可以先下载一个IDE(虽然Node.js完全可以通过文本来写,但是IDE至少在项目结构上清晰一点,何况其他强大的集成),因为我个人.NET技术出身,习惯用VS,所以下载了VS Code,嗯,还是熟悉的感觉。。
新建一个文件HelloWorld作为项目文件,用VSC打开,首先打开终端,执行项目文件的初始化
npm init
会出现一个类似问答的,可以直接回车跳过,也可以自己填写一下,结果会生成在package.json文件中(package.json 对于 Node.js 应用来说是一个不可或缺的文件,它存储了该 Node.js 应用的名字、版本、描述、作者、入口文件、脚本、版权等等信息。npm 官网有 package.json 每个字段的详细介绍:https://docs.npmjs.com/files/package.json)。
注意:括号里的是默认值,如果使用默认值则直接回车即可,否则输入自定义内容后回车。
我们通过express框架来构建这个hello world,安装 express 并写入 package.json:
npm i express --save
执行完之后会发现,项目文件中多了一个node_modules文件夹和package-lock.json。node_modules是node的模块包,我们通常会引入一些第三方模块包,通过"require()"方法可以直接引入;package-lock.json是当 node_modules 或 package.json 发生变化时自动生成的文件。这个文件主要功能是确定当前安装的包的依赖,以便后续重新安装的时候生成相同的依赖,而忽略项目开发过程中有些依赖已经发生的更新。
然后新建一个index.js文件,添加如下代码:
const express = require('express')
const app = express()
app.get('/', function (req, res) {
res.send('hello, world')
})
app.listen(3000)
以上代码的意思是:生成一个 express 实例 app,挂载了一个根路由控制器,然后监听 3000 端口并启动程序。
好了,我们运行一些,执行
node index
打开浏览器访问 localhost:3000:
ok,node.js的配置和安装就到这里,写的比较简单,也比较随意,其实里面涉及了很多东西,查阅了很多资料,先记个大概吧,有时间再来好好研究下。