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服务端的主要内容,如果未能解决你的问题,请参考以下文章

用node搭建本地服务环境

完整的node脚手架搭建服务

Node.js 搭建HTTP服务器,提供文件下载

NodeJs+Express+SqlServer简易后台API服务搭建

Node.js, Express的服务器搭建过程的问题

node.express框架搭建服务器