node + express搭建简单的HTTP服务端
Posted 疯狂的豆子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于node + express搭建简单的HTTP服务端的主要内容,如果未能解决你的问题,请参考以下文章