1.什么是node
简单的说node.js就是运行在服务端的JavaScript
官网地址:http://nodejs.cn/
2.node安装
2.1下载node
node下载:https://nodejs.org/en/download/
2.2命令行测试
node -v
3.快速入门
3.1控制台输出
创建demo1.js
var a = 1;
var b = 2;
console.log(a+b);
cmd中输入
node demo1.js //结果为3
3.2使用函数
创建demo2.js
//使用函数
var c = add(100,200);
console.log(c);
function add(a,b){
return a+b;
}
cmd中输入
node demo2.js //结果为300
3.3模块化编程
创建demo3_1.js
//被调用的模块
exports.add = function(a,b){
return a+b;
}
创建demo3_2.js
//调用模块
var demo = require("./demo3_1")
console.log(demo.add(200,300));
cmd中输入
node demo3_2.js //结果为500
3.4创建web服务器
参考node中文文档:http://nodejs.cn/api/
创建demo4.js
//创建web服务器
//http为node内置的web模块
var http = require("http")
//创建服务
http.createServer(function(request,response){
// 发送 HTTP 头部
// HTTP 状态值: 200 : OK
// 内容类型: text/plain
const body = 'hello world';
response.writeHead(200,{
'Content-Type': 'text/plain'
});
// 发送响应数据 "Hello World"
response.end(body);
})
.listen(8888); //监听8888端口
cmd中输入
node demo4.js
服务启动后,输入网站:http://localhost:8888 网页结果:"hello world" 按ctrl+c终止运行
3.5服务端渲染
创建demo5.js
//理解服务端渲染,循环输出hello world 10次
//客服端渲染可以看到for循环源码,而服务端渲染只能看到for循环的10次hello world结果
var http = require('http');
http.createServer(function (request, response) {
// 发送 HTTP 头部
// HTTP 状态值: 200 : OK
// 内容类型: text/plain
response.writeHead(200, {'Content-Type': 'text/plain'});
// 发送响应数据 "Hello World"
for(var i=0;i<10;i++){
//write方法可以多次调用
response.write('Hello World
');
}
//end方法只能调用一次,表示消息结束
response.end('');
}).listen(8888);
cmd中输入
node demo5.js
服务启动后,输入网站:http://localhost:8888 网页结果:10条"hello world"字符 按ctrl+c终止运行
右键“查看源代码”,并没有发现for循环语句,而是10条hello world,说明这个循环时在服务端完成的,而非客户端完成。这与jsp很相似。
3.6接受参数
创建demo6.js
//接受参数
var http = require('http');
//引入url模块,解析url
var url = require('url');
http.createServer(function(request, response){
//响应设置头信息
response.writeHead(200, {'Content-Type': 'text/plain'});
// 解析 url 参数,参考nodejs的api文档
var params = url.parse(request.url, true).query;
response.write("name:" + params.name);
response.write("
");
response.end();
}).listen(8888);
cmd中输入
node demo6.js
服务启动后,输入网站:http://localhost:8888/?name=abc 网页结果:"name:abc" 按ctrl+c终止运行