请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

老师:
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())


正在回答 回答被采纳积分+3

4回答

Scott 2016-12-12 11:48:05

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

0 回复 有任何疑惑可以回复我~
  • 老师。能不能麻烦您把koa koa-views koa-router jade或者您的package.json贴一下啊   让我们看看安装的版本,不然课程老是跟到一半,也没报错,就出不来了。
    回复 有任何疑惑可以回复我~ 2017-11-19 16:10:07
  • 谢谢你老师,找到问题原因了。可能是路由版本问题,不能这样写this.body=yield this.render(参数部分省略)会有问题
    回复 有任何疑惑可以回复我~ 2017-11-22 21:50:13
Scott 2017-11-22 21:44:24

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


这个课程看后面慕课网要不要重启,重启后,我会把重新录制或者补录一遍,走 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 回复 有任何疑惑可以回复我~
  • 按照老师给的版本跟着教程走,还是报错啊: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 23:06:14
vincents 2017-11-19 16:10:59

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

0 回复 有任何疑惑可以回复我~
慕粉3573948 2017-02-25 10:40:48

安装npm  install  koa-views@4.1.0

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信