Hoe onderstrepingsteken in jadesjabloon te gebruiken

Ik wil de onderstrepingfunctie gebruiken in de jadesjabloon, zoals deze

p= _.keys(user)

Niet voor client javascript, voor in redering.

Door heb ik 'underscore' in app.js nodig, kon het niet goed met elkaar opschieten. Natuurlijk werkt het correct in app.js.

ReferenceError: xxxxxxx _ is not defined

dit is sjabloonfoutbericht. enig idee?

bedankt

11

2 antwoord

Als u Express.js gebruikt (vermoedelijk omdat u Jade gebruikt), kunt u een onderstrepingsteken toevoegen als < a href = "http://expressjs.com/guide.html#app.helpers ()" rel = "noreferrer"> help-helper weergeven .

app.helpers({
    _: require("underscore")
});

UPDATE Using Express 3+, the above will no longer work, use app.locals instead:

app.locals._ = require("underscore");
20
toegevoegd
Ik zal mijn antwoord bijwerken voor Express 3
toegevoegd de auteur Dominic Barnes, de bron
Dit werkt alleen voor Express 3.x
toegevoegd de auteur Dave Jensen, de bron
super geweldig antwoord. 3 problemen opgelost voor mij! dank je
toegevoegd de auteur Codious-JR, de bron
Dank je. Het werkt goed!
toegevoegd de auteur dot, de bron

In Express 3.x helpers were removed. Instead use middleware and res.locals

app.use(function(req, res, next){
  res.locals._ = require('underscore');
  next();
});
5
toegevoegd