à l'aide de partiels avec express dans node.js
Je suis en train d'essayer de rendre les partiels à l'aide de node.js. Voici mon 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);
Quand je vais sur localhost:3000/produits, il doit rendre des index.jade qui est dans le dossier de produits qui est dans le dossier vues.Ci-dessus j'ai mis le répertoire de vues à l'aide de app.set('views', __dirname + '/views');
index.jade:
h1 Products:
#products!= partial('partials/product', {collection: products})
Cela devrait rendre le partiel équivalent à (partiels/produit.jade) parce que le jade est mon point de vue moteur.
J'obtiens une erreur en disant "partielle n'est pas défini"
Toute aide serait super. grâce
Mise à JOUR:
Qui a résolu mon partiel d'erreur merci. J'ai réinstallé 2.5.9.
OriginalL'auteur Nic Meiring | 2012-04-19
Vous devez vous connecter pour publier un commentaire.
Vérifier quelle est la version de Express JS vous avez installé, vous pouvez avoir la version 3.0 alpha:
Si vous êtes intéressé à essayer l'alpha, assurez-vous à la caisse de la documentation sur La migration à partir de 2.x à 3.x. En elle, vous remarquerez que
res.partial()
etpartial()
(dans les modèles) ont été supprimés -- comme décrit sous "Afficher les modifications du système:"Vous pouvez voir un exemple de l'intention dans l'article lié, Utiliser des blocs de Jade, pas de mises en page.
Si vous n'êtes pas intéressé, alors assurez-vous d'avoir les 2.x installé.
Ou via
package.json
:npm express -v
pour juste la version de express si vous avez beaucoup de paquets installésOriginalL'auteur Jonathan Lonowski