请稍等 ...
×

采纳答案成功!

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
老师:
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 的新特性


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
{
  "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下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号