Voici mon fichier index.js:
const express = require('express')
const app = express()
app.set('views', __dirname + '/views');
app.set('view engine', 'pug')
app.get('/', function (req, res) {
res.render('index', { title: 'Hey', message: 'Hello there!' })
})
app.listen(3333, function () {
console.log('Example app listening on port 3333!')
})
fichier index.pug:
html
head
title= title
body
h1= Hello
fichier package.json:
{
"name": "@npm-private/pug_with_node",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.15.3",
"jade": "^1.11.0",
"pug": "^2.0.0-rc.2"
}
}
Lorsque je lance mon fichier de serveur, il me montre une erreur. En fait, j’installe jargon et jade dans les deux modules npm:
Erreur: Impossible de trouver le module 'pug' à Function.Module._resolveFilename (module.js: 485: 15) à Function.Module._load (module.js: 437: 25) à Module.require (module.js: 513: 17) at require (internal/module.js: 11: 18) à la nouvelle vue (/home/software/node_modules/express/lib/view.js:80:30) à Function.render (/home/software/node_modules/express/lib/application.js:570:12) sur ServerResponse.render (/home/software/node_modules/express/lib/response.js:971:7) à/home/logiciel/Harsh Patel/pug_with_node/index.js: 8: 7 at Layer.handle [as handle_request] (/home/software/node_modules/express/lib/router/layer.js:95:5) at next (/home/software/node_modules/express/lib/router/route.js:137:13)
Essayez d'ajouter cette ligne
app.engine('pug', require('pug').__express)
avant
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');
Cela a résolu le même problème pour moi!
En cas d'incompatibilité d'installation des modules entre Global et Local, vous rencontrerez ce problème même si vous avez installé tous les modules. Je vous suggère d'installer tout ce qui est local au projet en incluant la dépendance dans le package.json
npm install --save express jade pug
dans le terminal de votre projet, installez le carlin comme ça:
npm installer --save ejs pug express-guidon
dans app.js express
const app = express();
app.set('view engine', 'pug');
app.set('views', 'views');
dans le package.json devrait ressembler à ceci
"dependencies": {
"body-parser": "^1.18.3",
"ejs": "^2.6.1",
"express": "^4.16.4",
"express-handlebars": "^3.0.0",
"pug": "^2.0.3"
}