Node.js功能十分强大,可以直接创建一个HTTP服务器。
// app.js
var http = require('http');
http.createServer(function(req,res){
res.writeHead(200, {'Content-Type': 'text/html'});
res.write('<h1>Node.js</h1>');
res.end('<p>Hello World</p>');
}).listen(3000);
console.log('HTTP server is listening at port 3000.');
如果你有PHP开发经验,会习惯在修改PHP脚本后直接刷新浏览器以观察结果,而在开发Node.js 实现的HTTP应用时会发现,无论修改哪一部分的代码,都必须终止Node.js再重新启动才能生效,这是因为Node.js只有在第一次引用到某部分时才会去解析脚本。Node.js这种设计虽然有利于提高性能,但非常不利于开发调试。
开发者在开发过程中总是希望修改后立即看到结果,而不是每次都终止进程并重启。
supervisor可以实现这个功能,帮助监视代码的改动,并自动重启Node.js.
做法也很简单。
$npm install supervisor -g
Linux or Mac 直接用上述命令很可能会权限错误,原因是npm需要把supervisor安装到系统目录,需要管理员授权,可以使用
sudo npm install -g supervisor
命令来安装。
安装完成后,使用supervisor xxx.js命令来启动。
当代码改动时,运行的脚本会被终止,然后重新启动。在终端显示的结果如下。