Question

Est-il possible de créer une application expresse (noeud) sans avoir besoin d'un moteur de template tels que le jade ou EJS. J'ai un grand projet de dernière année à l'université et je vais être en utilisant nœud, exprimer, socket.io, MongoDB et websockets. Je ne veux pas me charge d'avoir à apprendre une langue templating aussi!

Par défaut Express utilise jade -t, prise en charge du modèle --template add (jade | SEJ). default = jade

Était-ce utile?

La solution

Est-il possible de créer une application expresse (noeud) sans avoir besoin d'un moteur de template tels que le jade ou EJS

Oui il est. Vous pouvez simplement utiliser HTML. Ou tout simplement utiliser EJS. EJS est un sur-ensemble du langage HTML.

Je ne veux pas me charge d'avoir à apprendre une langue templating aussi!

Vous pouvez apprendre une langue Templating en un jour. Ça va vraiment vous aider. Simplement fais-le. Il vaut le coup.

Autres conseils

Si vous voulez seulement pour éviter d'apprendre une autre langue de modèle, vous voudrez peut-être donner underscore modèles d'essayer. Ils sont juste javascript, que vous allez être apprendre de toute façon.

documentcloud.github.com/underscore/#template

Vous pouvez le configurer avec:

app.register('.html', {
    compile: function(str, options){
        var compiled = require('underscore').template(str);
        return function(locals) {
            return compiled(locals);
        };
    }
});

meilleure façon de faire ce serait de remplacer le app.get par défaut ( « / ») ... en ligne avec ce qui suit. Ensuite, mettre toute la magie dans index.html. Cela permettra au moins fonctionner assez bien pour une application unique page.

avec les éléments suivants

app.get('/', function(request, response) {
var readFile = "index.html";
var fileContents = fs.readFileSync(readFile);

response.send(fileContents.toString());
});

La meilleure option est en ce moment à EJS d'utilisation (moteur) et le configurer pour accepter et rendre html:

app.set('views', path.join(*__dirname*, 'views'))
app.set('view engine', 'ejs'); // template engine
app.engine('html', require('ejs').renderFile); // turn engine to use html

Remarque: Tous vos vues ou modèles ont l'extension .html

.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top