当前位置: 首页 > 后端技术 > Node.js

Node+express搭建一个简单的HTTP服务器

时间:2023-04-04 00:05:13 Node.js

原创内容,欢迎转载,但请注明出处。-_-i写在前面:文章发表的时候,express的版本已经更新了,包括依赖的版本,都已经比较久远了。只是记录一个想法,使用前请查阅官方文档。1.依赖下面只列出几个主要的依赖:{"express":"^4.17.1",//BB不多,官方文档很香"body-parser":"^1.19.0",//格式请求<已弃用,请使用其他包>"bluebird":"^3.7.2",//Promiseextension"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.jsconstexpress=require('express');constapp=express();constserver=require('http').createServer(app);constbodyParser=require('body-parser');constrouter=require('./routers/httpApi');//CROS配置constallowCrossDomain=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'));//httprouterapp.use('/',router);server.listen('8082',function(){console.log('服务器是在端口8082上运行');})./routers/httpApiconstapp=require('express');constrouter=app.Router();constPromise=require('bluebird');router.get('/test',(req,res)=>{res.send({'key':'value'})});router.post('/test1',(req,res)=>{//做一些事情res.status('200');res.json({'key':'value'})});一个简单的http服务就可以启动express完美支持浏览器路由和hash路由,基本满足前后端分离项目Mock生产环境3.启动命令行:nodeindex.js或者使用大杀器pm2npmipm2-gpm2启动index.js