【发布时间】:2012-04-30 15:11:44
【问题描述】:
我正在尝试使用 node.js 渲染部分。这是我的代码。
app.js:
var express = require('express')
, routes = require('./routes');
var app = module.exports = express.createServer();
// Configuration
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
app.configure('development', function(){
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});
app.configure('production', function(){
app.use(express.errorHandler());
});
// Routes
app.get('/', routes.index);
var products = require('./products.js');
app.get('/products', function(req, res) {
res.render('products/index', {locals: {
products: products.all
}
});
});
app.listen(3000);
当我转到 localhost:3000/products 时,它应该呈现位于 products 文件夹中的 index.jade,它位于 views 文件夹中。上面我使用 app.set('views', __dirname + '/views'); 设置了 views 目录
index.jade:
h1 Products:
#products!= partial('partials/product', {collection: products})
这应该呈现部分等价于 (partials/product.jade) 因为翡翠是我的视图引擎。
我收到一条错误消息,提示“未定义部分”
任何帮助都会很棒。谢谢
更新:
这解决了我的部分错误,谢谢。我重新安装了 2.5.9。
【问题讨论】:
标签: javascript node.js express pug partials