本文主要摘自使用 NodeJS+Express 开发服务端
github代码地址:demohtml
npm install express -g npm install express-generator -g
cd 你的文件目录 express 项目名称(我设为APIServer)
获得的目录结构以下github
在终端最后的位置输出了以下两个命令express
install dependencies: $ cd APIServer && npm install //进入项目并安装环境 run the app: $ DEBUG=apiserver:* npm start //启动服务器
npm start
+在浏览器中访问http://localhost:3000/npm
var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var app = express(); ///=======路由信息 (接口地址)开始 存放在./routes目录下===========// var routes = require('./routes/index');//home page接口 var users = require('./routes/users'); //用户接口 app.use('/', routes); //在app中注册routes该接口 app.use('/users', users);//在app中注册users接口 ///=======路由信息 (接口地址 介绍===========// ///=======模板 开始===========// // view engine setup app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'jade'); ///=======模板 结束===========//
var express = require('express'); var router = express.Router(); //定义一个get请求 path为根目录 /* GET home page. */ router.get('/', function(req, res, next) { res.render('index', { title: 'Express' }); }); module.exports = router;
定义一个路由的基本格式为api
app.METHOD(PATH, HANDLER)
其中浏览器
function User(){ this.name; this.city; this.age; } module.exports = User;
var URL = require('url'); //请求url模块 var User = require('./user'); //引入user.js
并继续添加服务器
router.get('/getUserInfo',function(req,res,next){ var user = new User(); var params = URL.parse(req.url,true).query; if(params.id == '1'){ user.name = "ligh"; user.age = "1"; user.city = "北京市"; }else{ user.name = "SPTING"; user.age = "1"; user.city = "杭州市"; } var response = {status:1,data:user}; res.send(JSON.stringify(response)); })
其中cookie
获取url参数 依赖于url模块 使用前须要使用 require('url') var params = URL.parse(req.url, true).query;
因为users.js路由信息已经在app.js注册
中止服务器 从新start服务器便可直接访问
注意咱们访问的方式为users/getUserInfo?id=1 而不是基于根
缘由是咱们在app.js注册方式为app.use('/users', users);
咱们能够利用这种方式 开发模块功能 好比 你有另一个模块为msg
咱们注册为:app.use('/msgs', msgs);
调用方式为
http://localhost:3000/msgs/getUserMsgs?id=1