node + express搭建简单的HTTP服务端
【node + express搭建简单的HTTP服务端】原创内容,请随意转载,但请标明出处。 -_-i
写在前面:文章发布时,express已经有版本更新,包括依赖的版本都已经是比较久以前。只是记录一个思路,使用前请先查阅官方文档。1. 依赖
以下仅列出几个主要的依赖
"dependencies": {
"express": "^4.17.1",// 不多BB,官方文档很香"body-parser": "^1.19.0",// 格式化request <已弃用,请使用其他套餐>"bluebird": "^3.7.2", // Promise扩展"winston": "^3.3.3",// 日志套餐
"express-winston": "^4.0.3",
"log4js": "^6.3.0","socket.io": "^2.3.0","config-lite": "3.0.0"// 使用配置文件
}
2. 主要代码
index.js
const express = require( 'express' );
const app = express();
const server = require( 'http' ).createServer( app );
const bodyParser = require( 'body-parser' );
const router = require( './routers/httpApi' );
// CROS配置
const allowCrossDomain = function ( req, res, next ) {
res.header( 'Access-Control-Allow-Origin', '*' );
res.header( 'Access-Control-Allow-Headers', 'content-type, token' );
res.header( 'Access-Control-Allow-Methods', 'POST, GET, PUT' );
};
app.use( allowCrossDomain );
// 静态资源
app.use( express.static('webapp') );
// http router
app.use( '/', router );
server.listen( '8082', function() {
console.log( 'Server is running on port 8082' );
})
./routers/httpApi
const app = require( 'express' );
const router = app.Router();
const Promise = require( 'bluebird' );
router.get( '/test', ( req, res ) => {
res.send( {
'key': 'value'
} )
} );
router.post( '/test1', ( req, res ) => {
// do something
res.status( '200' );
res.json( {
'key': 'value'
} )
} );
一个简单的http服务就可以启动了。
express完美支持browser路由和hash路由,基本上满足在前后端分离项目中Mock生产环境3. 启动
命令行:
node index.js
或者,使用大杀器 pm2
npm i pm2 -g
pm2 start index.js
推荐阅读
- 六步搭建ES6语法环境
- Node.js中readline模块实现终端输入
- (1)redis集群原理及搭建与使用(1)
- 桁架搭建有什么价值()
- VM|VM ware 的 harbor 私有仓库搭建 (Ubuntu16.04)
- PHP开发-Mac搭建ThinkPHP5.0
- Python|Win10下 Python开发环境搭建(PyCharm + Anaconda) && 环境变量配置 && 常用工具安装配置
- sentry搭建错误监控系统(二)
- 【乐高创意作品】超智能!这款乐高搭建的除草机!
- 8、Flask构建弹幕微电影网站-搭建后台页面-密码修改、主页控制面板