web-dev-qa-db-fra.com

Erreur: impossible de trouver le module 'pug'

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)

9
Harsh Patel

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!

11
Sergi Nadal

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
6
Gopesh Sharma

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"
  }
0
Faris