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

学习nodejs+mongodb+koa2写接口(二)koa2入门教程

时间:2023-04-03 20:02:44 Node.js

1.hellokoainstallkoa2#初始化package.jsonnpminit#安装koa2npminstallkoahelloworld新建一个index.js代码,代码如下:constKoa=require('koa')constapp=newKoa()app.use(async(ctx)=>{ctx.body='hellokoa2'})app.listen(3000)console.log('[demo]start-quickisstartingatport3000')开始演示因为koa2是基于中间的async/await操作目前只能在node.js7.x的和谐模式下使用,所以启动时的脚本如下:nodeindex.js2.koa2nativeroutingimplementationandgetrequest//安装路由插件npminstall--savekoa-routerindex.js代码如下://index.jsconstKoa=require('koa')constapp=newKoa()constrouter=require('./routes/router')();app.use(router.routes()).use(router.allowedMethods())app.listen(3000,()=>{console.log('\[demo\]route-use-middlewareisstartingatport3000')})router.js代码如下:constRouter=require('koa-router')consthome=require('./home')();constpage=require('./page')();constapi=require('./api')();module.exports\=()=>{//加载所有子路由letrouter=newRouter()router.use('/',home.routes(),home.allowedMethods())router.use('/page',page.routes(),page.allowedMethods())router.use('/api',api.routes(),api.allowedMethods())返回路由器;}home.js代码如下:constRouter=require('koa-router')module.exports=()=>{lethome=newRouter()//子路径由1home.get('/',async(ctx)=>{让html=`

  • /page/helloworld
  • /page/404
  • /api/settings
`ctx.body=html})回家;}page.js代码如下:constRouter=require('koa-router')module.exports=()=>{letpage=newRouter()page.get('/404',async(ctx)=>{ctx.body='404page!'})page.get('helloworld',async(ctx)=>{ctx.body='helloworldpage!'})returnpage;}api.js代码如下:constRouter=require('koa-router')constsetController=require('../controllers/setController');module.exports=()=>{constapi=newRouter()api.get('/settings',setController.getSettings)returnapi;}setController.js代码如下:'usestrict';constcrypto=require('crypto');constAES_SECRET='12e87e58475793133d5bb40c3ae76ca3';constAES_IV='udv93xitfeu6xg8q';constTAOBAO_SECRET_KEY='d34682618b6503641566ae83d971d35d';exports.getSettings=async(ctx,next)=>{letcipher=crypto.createCipheriv('aes-256-cbc',Buffer.from(AES_SECRET),Buffer.from(AES_IV));letencrypted=cipher.update(TAOBAO_SECRET_KEY);encrypted=Buffer.concat([加密,cipher.final()]);ctx.status=200;ctx.body={success:true,msg:'',settings:{app_key:'27985254',secret:encrypted.toString('hex'),api:[{方法:'taobao.tbk.dg.material.optional',adzone_id:'mm_124732562_33032153_109589700162',desc:'选料'},{method:'taobao.tbk.dg.optimus.material',adzone_id:'mm_124732562_33032153_109589750184',desc:'选料';上面链接index.js:学习nodejs+mongodb+koa2编写接口(一)环境布局学习nodejs+mongodb+koa2编写接口(二)koa2教程入门学习nodejs+mongodb+koa2编写接口(三)增删改查mongodb的查询学习nodejs+mongodb+koa2编写接口(四)新建用户表,编写用户增删改查接口