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

Koa搭建节点服务

时间:2023-04-03 13:44:22 Node.js

介绍使用koa搭建节点服务连接mongodb返回前端数据githttps://gitee.com/wjj0720/koa...项目初始化首先确保你的节点环境已经准备好1.创建项目文件夹Createa文件夹test,在文件夹中Shift+右键点击这里运行命令行运行npminit--y2。安装依赖npmikoakoa-bodykoa-statickoa-corscreateservice//server.js/**1.在项目文件.js文件中创建server*2.在项目和目录下运行nodeserver.js*3.在浏览器地址输入http://127.0.0.1:3001/返回你的服务器runseccess*/constKoa=require("koa");constapp=newKoa();//ctx代表上下文对话的一部分(包括HTTP请求和HTTP回复)app.use(ctx=>{ctx.body="yourserverrunseccess"})//监听端口3001app.listen(3001,()=>{console.log("服务器在127.0.0.1:3001上运行");});路由使用/**1.创建routers文件夹文件夹下的每个目录都会有一个Access处理*2.在routers文件夹下创建一个demo文件夹,里面有index.js*3.在routers文件夹下创建routers.js集中路由为users*目录结构-server.js-routers-routers.js-demo-index.js-router.js*///----server.js文件----constkoa=require("koa");constkoaBody=require("koa-body");conststatic=require('koa-static')//constcors=require('koa-cors')//引入router创建letrouter=require("./路线r.js");constapp=newKoa();//解析post请求体app.use(koaBody());//设置是否跨域使用插件app.use(async(ctx,next)=>{ctx.set("Access-Control-Allow-Origin","*");returnnext();});//app.use(cors())//路由挂载app.use(router.routes());//静态文件处理app.use(static(path.join(__dirname)))//监听3001端口app.listen(3001,()=>{console.log("serverrun在127.0.0.1:3001");});//--------server.js结束------------//--------router.js-----letRouter=require("koa-router");letrouters=require("./routers/routers.js");letrouter=newRouter();routers.forEach(r=>{router.all(r.path,r.handle)});module.exports=router;//------server.js结束------//------routers/routers.js开始-----letdemo=require('./demo/index.js')lettest=require('./test/index.js')module.exports=[demo,test]//------routers/routers.jsend-----//------routers/demo/index.jsstart-----module.exports={path:"/demo/returnsomething",asynchandle(ctx,next){//获取请求输入letparams=ctx.request.body;//业务逻辑处理console.log(params);//返回前端数据ctx.body={res:"SUCCESS",data:'',code:2000};}};//------routers/demo/index.jsend-----//节点服务器访问http://127.0.0.1:3001//demo/returnsomethingmongodb连接/**1.首先,我们在服务器中。创建utils目录,并在js目录同级创建connect.js*///---utils/connect.js---//安装依赖npmimongodbassertconstMongoClient=require("mongodb").蒙戈客户端;constassert=require("断言");//连接URLmongo服务地址consturl="mongodb://localhost:27017";//DatabaseName保证mongo中有test库constdbName="test";//公共连接方法constconnect=(tableName,callback)=>{MongoClient.connect(url,{useNewUrlParser:true},function(err,client){assert.equal(null,err);constdb=client.db(dbName);回调(db.collection(tableName));client.close();});};//封装一个向mongo中插入多条数据的方法exports.insertMany=(tableName,condition,params)=>{returnnewPromise((resolve,reject)=>{connect(tableName,collection=>{collection.insertMany(condition,params,(err,result)=>{if(err){console.日志(错误);拒绝();}否则{解决(结果);}});});});};//封装一个查找数据库的方法exports.findMany=(tableName,condition)=>{returnnewPromise((resolve,reject)=>{connect(tableName,collection=>{collection.find(condition).toArray((err,result)=>{if(err){console.log(err);reject();}else{resolve(result);}});});});};//------end------//在路由中调用//----routers/dome/index.js----const{findMany}=require("../../实用程序/连接");module.exports={路径:“/servers/ddapi”,异步handle(ctx,next){让参数=ctx.request.body;//查找数据库返回值参数:indicate,conditionletres=awaitfindMany("user",{});控制台日志(资源);CTX。body={res:"成功",数据:res,代码:2000};}};