Express_1 Demo
来源:互联网 发布:openwrt 源码 多大 编辑:程序博客网 时间:2024/04/27 17:03
(本文为课程笔记)
首先新建node.js项目,控制台输入npm init
,然后按需配置即可。
然后,添加module,按需添加即可。配置完成后,package.json文件如下:
{ "name": "webTest", "private": true, "devDependencies": {}, "engines": { "node": ">=0.10.0" }, "dependencies": { "body-parser": "^1.15.0", "express": "^4.13.4", "morgan": "^1.7.0" }}
配置文件中的三个module:用express来实现server;用morgan来帮助记录日志;用body-parser来转换数据格式与编码,以便js语法兼容。
demo里所有的后台操作全部略去,用字符串叙述表示,代码如下:
var express = require('express');var morgan = require('morgan');var bodyParser = require('body-parser');var hostname = 'localhost';var port = 3000;var app = express();app.use(morgan('dev'));var dishRouter = express.Router();dishRouter.use(bodyParser.json());dishRouter.route('/') .all(function (req, res, next) { res.writeHead(200, { 'Content-Type': 'text/plain' }); next(); }) .get(function (req, res, next) { res.end('Will send all the dishes to you!'); }) .post(function (req, res, next) { res.end('Will add the dish: ' + req.body.name + ' with details: ' + req.body.description); }) .delete(function (req, res, next) { res.end('Deleting all dishes'); });dishRouter.route('/:dishId') .all(function (req, res, next) { res.writeHead(200, { 'Content-Type': 'text/plain' }); next(); }) .get(function (req, res, next) { res.end('Will send details of the dish: ' + req.params.dishId + ' to you!'); }) .put(function (req, res, next) { res.write('Updating the dish: ' + req.params.dishId + '\n'); res.end('Will update the dish: ' + req.body.name + ' with details: ' + req.body.description); }) .delete(function (req, res, next) { res.end('Deleting dish: ' + req.params.dishId); });// the full path will be [ip]/dishes/[dishRouter]app.use('/dishes', dishRouter);// include some static resourcesapp.use(express.static(__dirname + '/public'));app.listen(port, hostname, function () { console.log(`Server running at http://${hostname}:${port}/`);});
在控制台输入node [文件名]
运行server,然后就可以在浏览器或者postman里测试了。
0 0
- Express_1 Demo
- Demo
- demo
- demo
- demo
- demo
- demo
- DEMO
- Demo
- DEMO
- demo
- Demo
- demo
- demo
- Demo
- demo
- demo
- Demo
- IAA32过程调用寄存器的保护规则
- opencv中测量运行时间的函数
- C/C++字符串
- vim配置及插件安装管理(超级详细)
- 深入理解JVM内部结构(续)
- Express_1 Demo
- mysql触发器的使用
- Netty LengthFieldBasedFrameDecoder
- Apache Maven 2 简介||||||Maven 2 默认生命周期的各阶段
- Tomcat 加载顺序
- 任务管理器无法中止进程怎么办
- ios 性能优化之ImageView的那些事
- android studio强制关闭运行报错
- [从头学数学] 第198节 数学史选讲