1. 在controllers目录下新建一个文件,例如demo.js,写入如下代码:
module.exports=function(ctx,next) {ctx.state.data={ msg:'Hello World'}}
2. 打开routes/index.js,拉到最底,看到module.exports = router了吗?
在它之前添加如下路由:
router.get('/demo',controllers.demo)
3 微信开发者工具->“腾讯云”按钮->“上传测试代码”->“智能上传”,点击确定即可上传并部署代码,等到提示开发环境部署成功了之后,打开浏览器,访问https://腾讯云分配的域名/weapp/demo,即可看到刚刚编写的返回,是一个 JSON 字符串:
{"code":0,"data":{"msg":"Hello World"}}
ctx.state是koa中间件的存储空间,通过这个state可以存储数据,页面显示渲染view层的中间件也会默认用ctx.state里的属性作为view的上下文传入。难怪我们能在demo路由页面看到用ctx.state.data设置的数据了
网友评论