web-dev-qa-db-fra.com

Générateur Express Sans Jade

J'essaie de générer un squelette express en utilisant le générateur express. Ce serait donc ceci:

$ npm install express-generator -g

Cependant, il ajoute un tas de fichiers jade automatiques. 

Je me demandais s’il existait un moyen de se débarrasser de ces fichiers jade et d’utiliser simplement le langage HTML avec le générateur Express

Merci!

14
Richard WU

Essayez d'exécuter cette commande dans l'invite de commande:

express --help

Cela vous donnera l'aide du générateur express :

  Usage: express [options] [dir]

  Options:

    -h, --help          output usage information
        --version       output the version number
    -e, --ejs           add ejs engine support
        --hbs           add handlebars engine support
        --pug           add pug engine support
    -H, --hogan         add hogan.js engine support
        --no-view       generate without view engine
    -v, --view <engine> add view <engine> support (ejs|hbs|hjs|jade|pug|twig|vash) (defaults to jade)
    -c, --css <engine>  add stylesheet <engine> support (less|stylus|compass|sass) (defaults to plain css)
        --git           add .gitignore
    -f, --force         force on non-empty directory

⚡ La source: https://expressjs.com/fr/starter/generator.html

Les options ci-dessus vous donnent la liste des "moteurs de visualisation". 

Maintenant, tapez simplement:

express - {moteur de visualisation de votre choix}


Par exemple, en utilisant express -e:

Ceci définit le moteur EJS en tant que gestionnaire de vues et supprime le jade. EJS a l'aspect du HTML avec la possibilité supplémentaire d'injecter des valeurs via leur système de modèles.

9
Harsha Kasturi

Vous pouvez consulter la documentation Express-Generator .

Comme vous pouvez le voir avec express -h, le moteur d'affichage pris en charge par le générateur d'express est (Ejs | hbs | hjs | jade | pug | twig | vash), mais par défaut, jade est pris en charge.

$ express -h

Utilisation: express [options] [dir]

Options:

-h, --help          output usage information
    --version       output the version number
-e, --ejs           add ejs engine support
    --hbs           add handlebars engine support
    --pug           add pug engine support
-H, --hogan         add hogan.js engine support
-v, --view <engine> add view <engine> support (ejs|hbs|hjs|jade|pug|twig|vash) (defaults to jade)
-c, --css <engine>  add stylesheet <engine> support (less|stylus|compass|sass) (defaults to plain css)
    --git           add .gitignore
-f, --force         force on non-empty directory
3
havelino

Vous pouvez également directement inclure votre fichier HTML dans votre fichier jade

include ../../public/index.html
1

Vous pouvez simplement supprimer les fichiers jade et brancher votre propre moteur de template.

Par exemple, j'aime bien utiliser Handlebars.js. Donc, pour utiliser cela, dans app.js ou server.js ou quel que soit le nom du fichier générateur, vous devez substituer la ligne suivante:

app.set('view engine', 'jade');

avec quelque chose du genre (après avoir installé et exigé au moins un guidon): 

app.engine('handlebars', exphbs({defaultLayout: 'main'}));
app.set('view engine', 'handlebars');

Et chaque moteur est aussi configurable que vous le souhaitez. 

1
gr3co

Ce générateur semble gérer les modèles EJS. EJS est juste du HTML avec la possibilité d'insérer des variables. Eh bien ... comme un moteur de templates. Mais EJS est aussi le moteur de rendu pour HTML.

Dans les app.js du générateur, vous pouvez voir cette ligne (15): 

app.set('view engine', '{views}');

Donc, je suppose que si vous sélectionnez le moteur EJS lors de l'installation, ce sera bien. Tant que vous placez vos fichiers HTML dans le dossier spécifié (ligne 14, app.js):

app.set('views', path.join(__dirname, 'views'));
1
Julien Rodrigues