Node.js模块系统
在 Node.js 中,引入一个模块 如:
var http=require('fs');
http.createServer(...);
Node.js中自带了一个叫做"http"的模块,我们在我们的代码中请求它并把返回值赋给一个本地变量。
这把我们的本地变量变成了一个拥有所有 http 模块所提供的公共方法的对象。
require方法接受以下几种参数的传递:
http、fs、path等,原生模块。
./mod或../mod,相对路径的文件模块。
/pathtomodule/mod,绝对路径的文件模块。
mod,非原生模块的文件模块。
Node.js 路由
var url=require("url");//引入路由模块
Node.js 异步编程的直接体现就是回调。
异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。
不像Apache一样需要为每一个请求创建一个新的进程。
例如,我们可以一边读取文件,一边执行其他命令,在文件读取完成后,我们将文件内容作为回调函数的参数返回。这样在执行代码时就没有阻塞或等待文件 I/O 操作。这就大大提高了 Node.js 的性能,可以处理大量的并发请求
非阻塞代码实例:
var fs=require('fs');//引入fs模块;
fs.readFile('a.txt',function(err,data){
if(err){
return console.error(err);
}else{
console.log(data.toString());
console.log('执行结束');
}
});
阻塞代码实例:
var fs=require('fs');
var data=fs.readFileSync('a.txt');
console.log(data.toString());