jade 渲染不能执行
来源:6-6 第六天 存储并展现电影列表
慕设计5937481
2016-08-06
路由执行/movie 或者/movie/:id的时候可以执行,但是执行到
yield this.render('wechat/game' , params) ;
的时候就没有了,也没有打印什么错误,不知道是哪里出了错误,上一步的params能打印出来
这是game.js
'use strict' var wx = require('../../wx/index') ; var wechatApi = wx.getWechat() ; var util = require('../../libs/util') ; var movieApi = require('../api/movie') ; exports.guess = function *(next) { var data = yield wechatApi.fetchAccessToken() ; var access_token = data.access_token ; var ticketData = yield wechatApi.fetchApiTicket(access_token) ; var ticket = ticketData.ticket ; var url = this.href.replace(':8000' , '') ; var params = util.sign(ticket , url) ; yield this.render('wechat/game' , params) ; } exports.find = function *(next) { var id = this.params.id ; var data = yield wechatApi.fetchAccessToken() ; var access_token = data.access_token ; var ticketData = yield wechatApi.fetchApiTicket(access_token) ; var ticket = ticketData.ticket ; var url = this.href.replace(':8000' , '') ; var params = util.sign(ticket , url) ; var movie = yield movieApi.searchById(id) ; params.movie = movie ; yield this.render('wechat/movie' , params) ; }
这里是app.js
var Koa = require('koa') ; var wechat = require('./app/controllers/wechat') ; var mongoose = require('mongoose') ; var views = require('koa-views') ; var dbUrl = 'mongodb://localhost/movie' ; var fs = require('fs') ; mongoose.connect(dbUrl) ; //models loading var models_path = __dirname + '/app/models' ; var walk = function(path){ fs .readdirSync(path) .forEach(function(file){ var newPath = path + '/' + file ; var stat = fs.statSync(newPath) ; if(stat.isFile()){ if(/(.*)\.(js|coffee)/.test(file)) { require(newPath) ; } } else if(stat.isDirectory()) { walk(newPath) ; } }) } walk(models_path) ; var menu = require('./wx/menu') ; var wx = require('./wx/index') ; var wechatApi = wx.getWechat() ; var config = wx.getConfig ; wechatApi.deleteMenu().then(function(){ return wechatApi.createMenu(menu) ; }) .then(function(msg){ console.log(msg) ; }) var app = new Koa() ; var Router = require('koa-router') ; var router = new Router() ; var game = require('./app/controllers/game') ; app.use(views(__dirname + '/app/views/pages' , { extention: 'pug' })) router.get('/movie' , game.guess) ; router.get('/movie/:id' , game.find) ; router.get('/wx' , wechat.hear) ; router.post('/wx' , wechat.hear) ; app .use(router.routes()) .use(router.allowedMethods()) ; app.listen(3000) ; console.log('app is listening at 3000') ;
写回答
3回答
-
mas123
2016-09-18
老师,出现了这个问题。。数据库确定连接上了,就是传不进数据库 这是什么原因啊。。
022016-09-20 -
慕设计5937481
提问者
2016-08-10
已经解决了,在调用app.views() ,设置静态文件的路径的时候好像最后一级文件夹的名字不是views的话好像就不能渲染,之前的文件夹的布局和老师您的不一样,之后换成您这样的就可以了,真是有点奇怪!
00 -
Scott
2016-08-09
这么神奇,会不会是 jade 改为 pug 的原因,安装一个老的 jade 版本试试看呢
没有报错很奇怪,不传 params 直接 render 试试呢
00
相似问题