nodejs的功能块大都以模块的形式存在的。
通常会有一个统一入口index.js,然后调用不同的模块来完成我们需要的功能。
我们先来看看怎么把server.js变成一个模块让 index.js 主文件使用。
var http = require("http");
...
http.createServer(...);
“http” 是nodejs自带的模块,我们在我们的代码中请求它并把返回值赋给一个本地变量。 我们可以用这个变量来调用 http 模块所提供的公共方法的对象,变量名不是固定的,你完全可以按照你的喜好来命名这个变量,不过我建议直接用模块名来做变量名,可以使代码可读性更高些。
我们按这个方式改一下server.js里的代码,我们把代码放到start()函数里,并通过expors将代码提供给其他页面引用。
var http = require("http");
function start() {
function onRequest(request, response) {
console.log("Request received.");
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World");
response.end();
}
http.createServer(onRequest).listen(8888);
console.log("Server has started.");
}
exports.start = start;
这样,我们现在就可以创建我们的主文件 index.js 并在其中启动我们的HTTP了,虽然服务器的代码还在 server.js 中。
创建 index.js 文件并写入以下内容:
var server = require("./server");
server.start();
执行node index.js
这样做就可以把应用的不同部分放入不同的文件里,并且通过生成模块的方式把它们连接到一起了。
下一节我们要了解一下路由