1.安装配置环境
1.1 node.js
首先,安装nodejs,直接下载安装就好,无需配置 Nodejs下载.
nodejs安装好之后,npm也就安装好了(Node.js在0.6.3版本之后内建npm).
npm就是node package manager,就是一个node的套件管理.
1.2 express
express是node.js的一个web应用程序框架,提供了很多强大的API来构建一个web应用.
安装express,在项目目录下执行
npm install express
至于指令加不加–save等参数就是看项目本身了,在这里不讲解,可查看npm了解详情.
1.3 forever
forever是用来维持一个node脚本持续运行的.如果只是用node来执行一个xxx.js,那么当远程ssh失去连接的时候,这个脚本就会停止,forever就是让这个脚本连续保持运行以实现服务器功能的.
安装它
npm install forever
启动它
forever start xxx.js
其中xxx.js就是服务器端程序.如果想关闭forever,运行
forever stop xxx.js
更多的命令可以查看
forever --help
1.4 nginx安装配置(可选)
如果是做一个网站需要80端口的,那么可以安装一下nginx,将80端口映射到自己定义的一个端口,这个端口就是node.js里监听的端口.
mac下用homebrew安装nginx
brew install nginx
然后修改配置,在location项下面加
proxy_pass http://localhost:8081;
端口号与xxx.js中监听的一致.
2.一个简短的服务器端程序
在项目目录下新建一个test.js文件.
写个最简短的helloworld吧.
var express = require('express');
var app = express();
app.get('/helloworld', function (req, res) {
...//具体处理逻辑
});
var server = app.listen(8081, function () {
var host = server.address().address;
var port = server.address().port;
console.log("应用实例,访问地址为 http://%s:%s", host, port);
});
这样一个简单的程序就已经可以让服务器运行起来了,浏览器中访问localhost:8081/helloworld就可以看到一个空白页面,同时服务器的console还会出现访问地址.
express可以get或者post,上面的代码就是定义了一个接口,当url与之匹配时就会访问这段程序.
app同时要监听一个端口,这里定为8081,所以要是网站应用默认为80端口的话,用nginx代理一下就行.
那如果url中带有参数怎么获取呢?
例如,我们要访问的url为
“http://localhost:8081/helloworld?id=2&name=lili”
app.get('/helloworld', function (req, res) {
var id = req.query.id,
name = req.query.name;
console.log('id:' + id + ',name:' + name);
res.json({"id":id, "name":name});
});
可以看到,get方法有两个参数,第一个为地址,第二个为回调函数.当地址匹配时,就会执行这个回调函数.
回调函数也有两个参数,req为请求,也就是url相关的,利用req的查询方法就可以获取到url中的参数.
第二个参数为res,也就是返回,这个接口返回的数据就是这个.
上面的代码会返回调用的url的参数组成的json.
具体的express的方法参看express文档.
3.后续学习
会了简单的服务器端搭建,后面就要学习具体的方法了.
搭建一个web应用,express是非常好用的.
如果是写一个回调数据接口,可能还需要用到async模块来处理同步异步的问题.
如果这个接口还要访问其他的接口,那么还要有request模块.
总之,这只是node.js写服务器端的一个小小例子,如果要做复杂一些的应用,还要学习很多东西.