node
Node 是什么?
Node 是一个服务器端 JavaScript 解释器,是一门技术
Node 旨在解决什么问题?
在 Java 和 PHP 这类语言中,每个连接都会生成一个新线程,每个新线程可能需要 2 MB 的配套内存。在一个拥有 8 GB RAM 的系统上,理论上最大的并发连接数量是 4,000 个用户。随着您的客户群的增长,如果希望您的 Web 应用程序支持更多用户,那么,您必须添加更多服务器。
Node 解决这个问题的方法是:更改连接到服务器的方式。每个连接发射一个在 Node 引擎的进程中运行的事件,而不是为每个连接生成一个新的 OS 线程(并为其分配一些配套内存)。Node 声称它绝不会死锁,因为它根本不允许使用锁,它不会直接阻塞 I/O 调用。
Node 如何工作?
Node 实际上会使用 Google 编写的 V8 JavaScript 引擎(V8 JavaScript 引擎是 Google 用于其 Chrome 浏览器的底层 JavaScript 引擎)
Node 搭建服务器
var http = require("http");
var fs = require("fs");
var querystring = require("querystring");
var url = require("url");
//引入模块
//开启服务
var server = http.createServer();
server.on("request",function(req,res){
var urlObj = url.parse(req.url,true); //把地址栏格式化成对象
var pathname = urlObj.pathname;
var query = urlObj.query; //获取到url地址栏的参数
else if(pathname == "/getData" && req.method == "GET" && query.uname){
fs.readFile("./data/" + query.uname+".json","utf8",function(err,data){
// res.end(data);
data = JSON.parse(data);
var obj = {
message : "OK",
data : data
}
var str = JSON.stringify(obj);
res.end(str);
})
}else {
}
})
server.listen(3001);
console.log("server running in 127.0.0.1:3001");
var server = http.createServer();
// 引入http的模块
var http = require("http");
// 创建一个服务
http.createServer(function(request,response){
}).listen(3000)
常用fs模块
//引入fs模块
var fs = require("fs");
// 异步的创建文件夹
fs.mkdir("./data02",function(err){
})
// 同步的创建文件夹
fs.mkdirSync(path[, options])
// 异步读文件夹
fs.readdir(path[, options], callback).
// 同步的读文件夹
fs.readdirSync(path[, options])
// 异步判断文件或者文件夹是否存在
fs.access(path[, mode], callback)
fs.access("./data",function(err){
})
// 同步判断文件或者文件夹是否存在
fs.accessSync(path[, mode])

浙公网安备 33010602011771号