it-swarm.com.de

Fehler: Modul 'Pug' kann nicht gefunden werden

Hier ist meine index.js-Datei:

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!')
})

index.pug Datei:

html
  head
    title= title
  body
    h1= Hello

package.json Datei:

{
  "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"
  }
}

Wenn ich meine Server-Datei starte, wird mir ein Fehler angezeigt. Ich installiere pug und jade beide npm-Module:

Fehler: Das Modul 'Pug' kann nicht gefunden werden at Function.Module._resolveFilename (module.js: 485: 15) at Function.Module._load (module.js: 437: 25) bei Module.require (module.js: 513: 17) at erfordern (internal/module.js: 11: 18) at new View (/home/software/node_modules/express/lib/view.js:80:30) at Function.render (/home/software/node_modules/express/lib/application.js:570:12) at ServerResponse.render (/home/software/node_modules/express/lib/response.js:971:7) unter/home/software/Harter 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) bei next (/home/software/node_modules/express/lib/router/route.js:137:13)

9
Harsh Patel

Versuchen Sie, diese Zeile hinzuzufügen

app.engine('pug', require('pug').__express)

vor

app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');

Dies löste das gleiche Problem für mich!

11
Sergi Nadal

Wenn die Modulinstallation zwischen Global und Local nicht übereinstimmt, tritt dieses Problem auch dann auf, wenn Sie alle Module installiert haben. Ich würde vorschlagen, dass Sie alles lokal für das Projekt installieren, indem Sie die Abhängigkeit in package.json angeben

npm install --save express jade pug
6
Gopesh Sharma

Das erneute Installieren von pug hat das für mich behoben:

yarn remove pug
yarn add pug

Vielen Dank an Ron Royston für den Hinweis: Fehler: Modul 'Mops' kann nicht gefunden werden

0
David Lemayian

Laufen: npm install express hat für mich gearbeitet

Ich hatte vergessen, Express vor Ort zu installieren.

Stellen Sie auch sicher, dass Sie Mops installiert haben. (Lauf: npm i pug)


Weitere Erklärung:

In meinem System funktioniert Express auch, wenn ich es nicht lokal installiere (ohne npm install express). so konnte express das lokale mops-modul nicht finden, da es von woanders ausgeführt wurde.

Beachten Sie, dass, wenn Sie Express in Ihren Abhängigkeiten haben, dies nicht bedeutet, dass Sie es installiert haben. Lauf npm install, um sicherzustellen, dass alle Abhängigkeiten installiert sind.

0
yaya

installieren Sie den Mops im Terminal Ihres Projekts so:

npm install --save ejs pug express-handlebars

in app.js ausdrücken

const app = express();

app.set('view engine', 'pug');
app.set('views', 'views');

in der package.json sollte so aussehen

  "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