mit partials mit express in node.js
Ich versuche zu Rendern von partials verwenden node.js. Hier ist mein code.
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);
Wenn ich auf localhost:3000/Produkte, die es Rendern soll, index.jade, die ist in den Produkte Ordner, die im Ordner sichten.Oben habe ich den Ansichten-Verzeichnis mit app.set('views', __dirname + '/views');
index.jade:
h1 Products:
#products!= partial('partials/product', {collection: products})
Dies Rendern soll, die teilweise äquivalent zu (partials/Produkt.jade), denn jade ist meine Ansicht-engine.
Ich erhalte eine Fehlermeldung zurück und sagte: "teilweise ist nicht definiert"
Jede Hilfe wäre toll. Dank
UPDATE:
Gelöst, dass meine teilweise Fehler, danke. Ich 2.5.9 neu installiert.
InformationsquelleAutor Nic Meiring | 2012-04-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Überprüfen Sie, welche version von Express JS, das Sie installiert haben -- möglicherweise haben die 3.0 alpha:
Wenn Sie interessiert sind, versuchen, die alpha -, sicher sein, um eine Arbeitskopie der Dokumentation auf Migration von 2.x-3.x. In es, werden Sie feststellen, dass
res.partial()
undpartial()
(innerhalb von templates) entfernt wurden -- wie oben unter "Ansicht-system-änderungen:"Sehen Sie ein Beispiel von der Absicht, in den verlinkten Artikel, Jade nutzen, Blöcke, nicht layouts.
Wenn Euch das nicht interessiert, dann einfach stellen Sie sicher, Sie haben 2.x installiert.
Oder über
package.json
:npm express -v
nur für die version von express, wenn Sie haben eine Menge Pakete installiertInformationsquelleAutor Jonathan Lonowski