Node.js是一个事件驱动的,异步的JavaScript运行时。它轻量,高效,基于Chrome的V8引擎。其设计目标是为了构建高并发可扩展的Web程序或服务。
抛开JavaScript语言本身不谈,因为派系和语言一直是写代码的手艺人之间无休止的争论,我们首先来体验下用Node.js从安装到实现一个Web Service的Hello world究竟有多么简单,请自行对比传统的Web Service(包括Rails, Python的框架)开发框架从安装到写一个能运行起来一个Hello World的过程。
安装Node.js
如果你在Mac或者Windows上开发,Node.js官网提供了二进制安装包,双击一路Next即可。
如果你用Linux系统(以CentOS 6.x为例,其他发行版有略微差异,具体安装方法参见这里)可以通过执行这两条命令来安装:
curl -sL https://rpm.nodesource.com/setup_6.x | bash -
yum install -y nodejs
选择一个趁手的编辑器
话说工欲善其事,必先利其器…其实真实的情况是,相比配置Java的开发环境(不敢对比PHP,因为PHP是最好的语言),这里的篇幅实在太少,以至于我要把编辑器的选择独立作为一节。
言归正传,无论你是在Windows,Mac下还是Linux下我都推荐Sublime Text,甚至vim的重度用户也能从中找到归属感(Sublime Text能够设置使用vim的键盘方式操作)。当然如果你有自己非常趁手的编辑器那就另当别论了。如果你觉得Sublime Text不顺手,还可以试试其他我觉得不错的编辑器:VS Code(Microsoft出品,具有强大的代码自动补齐功能),Brackets。
Hello world
新建一个文本文件,取名server.js,并复制以下内容到server.js中。
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer(function(req, res) {
res.end('Hello, World!\n');
});
server.listen(port, hostname, function() {
console.log("Server is running at %s:%s", hostname, port);
});
在命令行中运行node server.js,可以看到
Server running at 127.0.0.1:3000
之后在浏览器中访问http://127.0.0.1:3000/ 就能看到Hello World了。
整个过程不需要安装和配置额外的Web Server,也不需要配置各种环境变量,即写即用。
下一篇文章中我们将利用Express.js(一个基于Node.js web框架)来搭建一个符合生产运行的一个RESTful Web Service。