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])