1. 第一步, 在电脑上安装node
可以在官网上下安装包或者用命令去安装, 百度一下 你就知道.
2. 创建第一个应用
分三步:
- 引入require模块, 我们可以使用require指令来载入Node.js模块.
var http = require("http");
创建服务器.服务器用于监听用户的请求.
接收请求和响应请求. 服务器很容易创建, 客户端可以使用浏览器或者终端发送http请求, 服务器接收请求后返回响应数据.
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo}p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px}span.s1 {font-variant-ligatures: no-common-ligatures}
var http = require('http');
http.createServer(function (request, response){
//发送http的头, 状态200:OK, 内容text/plain
response.writeHead(200, {'Content-Type': 'text/plain'});
//发送响应数据 "Hello world"
response.end("Hello world");
}).listen(8888);
console.log("Server running at http://localhost:8888 ");
- 启动
node server.js
3. 使用NPM
NPM是随着NodeJS一起安装的管理工具, 能解决NodeJS代码部署上的很多问题, 常见的应用场景:
- 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
- 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
- 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。
3.1 使用NPM命令安装模块
npm install <Module Name>
如:
npm install express //本地安装
npm install express -g //全局安装
引用模块:
var express = require("express");
npm的包安装分为本地安装和全局安装, 如果两个都需要, 可以用两种方式安装它或者使用npm link
.
查看全局安装的模块:
npm ls -g
4. 使用package.js
package.json 位于模块的目录下,用于定义包的属性。
package.json属性说明: http://www.runoob.com/nodejs/nodejs-npm.html
// 卸载模块
npm uninstall express
// 更新模块
npm update express
// 搜索模块
npm search express
// 创建模块
npm init
// 注册npm用户信息
npm adduser
// 发布模块
npm publish
使用NPM下载和发布代码时都会接触到版本号。NPM使用语义版本号来管理代码,这里简单介绍一下。
语义版本号分为X.Y.Z三位,分别代表主版本号、次版本号和补丁版本号。当代码变更时,版本号按以下原则更新。
- 如果只是修复bug,需要更新Z位。
- 如果是新增了功能,但是向下兼容,需要更新Y位。
- 如果有大变动,向下不兼容,需要更新X位。
如果嫌弃npm太慢, 也可以用淘宝的镜像. 参阅: http://npm.taobao.org/。
5. Node.js REPL(交互式解释器)
http://www.runoob.com/nodejs/nodejs-repl.html
Node.js REPL表示一个电脑环境, 我们可以在终端输入命令, 并接收系统的响应.
Node的交互解释器可以很好的调试javascript代码.
// 启动node终端
$ node
// 简单的运算
> 1 +4
5
// 使用变量
> x = 10
10
> var y = 10
undefined
> x + y
// 使用`_`获取表达式的运算结果
> x + y
30
> var sum = _
常用REPL指令
**ctrl + c** - 退出当前终端。
**ctrl + c 按下两次** - 退出 Node REPL。
**ctrl + d** - 退出 Node REPL.
**向上/向下 键** - 查看输入的历史命令
**tab 键** - 列出当前命令
**.help** - 列出使用命令
**.break** - 退出多行表达式
**.clear** - 退出多行表达式
**.save *filename*** - 保存当前的 Node REPL 会话到指定文件
**.load *filename*** - 载入当前 Node REPL 会话的文件内容。