Changement Express voir le dossier sur la base où est le fichier res.render() est appelée
Je voudrais changer la vue dossier de l'Express quand je l'appelle res.render().
Par exemple, si je l'appelle, res.render(nomvue) à l'intérieur de /folder/file.js je voudrais que l'Express look pour la vue à l'intérieur d' /dossier/views.
Si le fichier se trouve dans /folder1/folder2/file.js je voudrais que l'Express look pour la vue à l'intérieur d' /dossier1/dossier2/vues
Est-il possible ?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser la méthode
set()
de redéfinir exprimer les paramètres par défaut.Pour une dynamique de changement du chemin d'accès que vous pouvez faire quelque chose comme ceci:
Au lieu de passer simplement votre nom de la vue à la fonction rendu, vous pouvez passer d'un chemin relatif ou absolu.
Exemple Simple:
C'est assez simple
pour changer la vue de dossier de l'Express quand on appelle res.render(),
juste définir le chemin d'accès où la vue est situé,
dans votre cas,
Cela modifie le chemin d'accès où l'Express de recherche pour des points de vue.
require
. ...facile.(Désolé, je ne peux pas commenter encore)
@nuzzolilo réponse fonctionne bien. Mais si vous préférez ES6
Ce simplement d'améliorer la lisibilité du code 😉
Vous pouvez également obtenir le chemin d'accès relatif en utilisant
require.resolve
:res.render(require.resolve('./folder/with/views/viewname'));