koa-router+koa-views 结合使用 ,this.render 没有效果

来源:6-6 第六天 存储并展现电影列表

大大的喆

2016-12-12

老师:
1.单独使用 koa-views ,this.render时,可以正常进行页面渲染
//测试koa-views
var views = require('koa-views');
app.use(views(__dirname + '/app/views', {
    extension:'jade'
}));
app.use(function* (next) {
  yield this.render('test', {});
});
2.单独使用koa-router ,也可以进行页面渲染
问题是:
当koa-router+koa-views 时,就不能进行页面渲染了,具体代码如下;
//测试koa-views+koa-router
var views = require('koa-views');
var router = new Router();
app.use(views(__dirname+'/app/views',{
    extension:'jade'
}));
router.get('/nodeport/movie/',function* (next){
//有进入到这个方法中,但是网络请求报 204 错误
    yield this.render('test', {});
  
})
app
    .use(router.routes())
    .use(router.allowedMethods())


写回答

4回答

Scott

2016-12-12

这么神奇,在 yield this.render 后面,再追加一个 return next 或者 yield next 试试看

0
2
vincents
谢谢你老师,找到问题原因了。可能是路由版本问题,不能这样写this.body=yield this.render(参数部分省略)会有问题
2017-11-22
共2条回复

Scott

2017-11-22

这个比较老了,你先看一下。


这个课程看后面慕课网要不要重启,重启后,我会把重新录制或者补录一遍,走 Koa2 的新特性


{
  "name": "wechat",
  "version": "1.0.0",
  "description": "",
  "main": "app.js",
  "dependencies": {
    "bcrypt": "^0.8.5",
    "bluebird": "^3.5.0",
    "co": "^4.6.0",
    "ejs": "^2.3.4",
    "express": "^4.13.3",
    "heredoc": "^1.3.1",
    "koa": "^2.2.0",
    "koa-body": "^2.0.1",
    "koa-bodyparser": "^4.2.0",
    "koa-router": "^7.1.1",
    "koa-session": "^5.0.0",
    "koa-views": "^4.1.0",
    "lodash": "^4.17.4",
    "moment": "^2.11.2",
    "mongoose": "^4.9.8",
    "pug": "^2.0.0-rc.1",
    "raw-body": "^2.1.4",
    "request": "^2.81.0",
    "sha1": "^1.1.1",
    "xml2js": "^0.4.13"
  },
  "devDependencies": {
    "nodemon": "^1.11.0"
  },
  "scripts": {
    "dev": "nodemon -w app.js -w ./app -w ./wx -w ./wechat --exec node app.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "Scott",
  "license": "ISC"
}


0
1
vincents
按照老师给的版本跟着教程走,还是报错啊:koa deprecated Support for generators will be removed in v3. See the documentation for examples of how to convert old middleware https://github.com/koajs/koa/blob/master/docs/migration.md 这个非常要命,后面的越跟越烦啊。教程能不能跟着技术革新啊,不然我们学到的都是老版本东西,一更新版本就乱套了。
2017-11-27
共1条回复

vincents

2017-11-19

兄弟,这个问题我也遇到了。请问后面怎么解决呢

0
0

慕粉3573948

2017-02-25

安装npm  install  koa-views@4.1.0

0
0

7天搞定Node.js微信公众号

Koa框架、ES2015新特性、MongoDB,开发微信公众号

1742 学习 · 787 问题

查看课程