Koa2 上 关于 jade 的配置问题
发布于 8 年前 作者 thomas0836 4209 次浏览 来自 问答

12.pic.jpg 14.pic.jpg 13.pic.jpg

以上是代码内容,基本是 moa2 的 代码,router 由于使用了 koa-router get方法的第二个参数 是需要使用Generator 函数的,已修改。 然后就是 views 中间件,源码是

module.exports = views(path.join(__dirname, '../../app/views'), {
  extension: 'jade'
})

已根据 koa如何使用jade,倒饬了2天了 这篇内容修改了。 但还是 404 router 内修改成 this.body = ‘Hello World’ 可以正常出来,所以就剩下 return this.render(‘index’, { title: ‘Hello World’ });

path.join(__dirname, ‘…/…/app/views’ 部分 使用 过 ‘…/app/views’ ,’/app/views’ ,’/views’ ,‘views’ 都是 404 甚至 我在根目录也开了一个一样的views 文件夹也是不可以

屏幕快照 2016-08-01 下午5.25.29.png 屏幕快照 2016-08-01 下午5.25.16.png 这两个jade 的内容 目测也没有问题吧……

请了解的大牛指导一下,怎样才不404

5 回复

屏幕快照 2016-08-01 下午5.29.12.png

path.join(__dirname, ‘…/…/public’) 这个 配置 正常,可以 访问到public 内的css ,html ,js 所以 path.join(__dirname, ‘…/…/public’) 这种获取路径的方式应该是没有问题的

return this.render('index', {
    title: 'Hello World'
  });

内的‘index’ 试过 ‘/index’ ,’…/index’ 都是 不行

开了一个新的项目 去 一个一个简单的配出来了 已基本解决

router.get('/', function *(next){

  //this.body = 'Hello World'
  //
  //
  yield this.render('index', {
    title: 'Hello World'
  });
});
module.exports = views(path.join(__dirname, '../../app/views'),  {
  extension: 'jade'
})

源码的 views 部分配置没有问题,是router 部分 要使用 yield this.render();

@thomas0836 兄弟,已经重构了,新版本更爽,有兴趣一起来么?

回到顶部