web-dev-qa-db-ja.com

エラー:モジュール 'pug'が見つかりません

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

index.pugファイル:

html
  head
    title= title
  body
    h1= Hello

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

サーバーファイルを実行すると、エラーが表示されます。実際、私はpugとjade両方のnpmモジュールをインストールします:

エラー:Module.require(module.js:513:17)のFunction.Module._load(module.js:437:25)のFunction.Module._resolveFilename(module.js:485:15)でモジュール 'pug'が見つかりません)require(internal/module.js:11:18)at新しいビュー(/home/software/node_modules/express/lib/view.js:80:30)at Function.render(/ home/software/node_modules/express /lib/application.js:570:12)ServerResponse.render(/home/software/node_modules/express/lib/response.js:971:7)at/home/software/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)

12
Harsh Patel

この行を追加してみてください

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

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

これは私にとって同じ問題を解決しました!

13
Sergi Nadal

グローバルとローカル間でモジュールのインストールが一致しない場合、すべてのモジュールをインストールした場合でもこの問題が発生します。 package.jsonに依存関係を含めることにより、プロジェクトにローカルなものをすべてインストールすることをお勧めします

npm install --save express jade pug
10
Gopesh Sharma

パグを再インストールすると、これが修正されました:

yarn remove pug
yarn add pug

ヒントを提供してくれたRon Roystonに感謝します。 エラー:モジュール 'pug'が見つかりません

0
David Lemayian

Runnig:npm install express私のために働いた

エクスプレスをローカルにインストールするのを忘れていました。

また、必ずパグをインストールしてください。 (実行:npm i pug


詳細な説明:

私のシステムでは、ローカルに(npm install express)。そのため、expressは他の場所から実行されていたため、ローカルpugモジュールを見つけることができませんでした。

依存関係でExpressを使用している場合、インストールしたという意味ではないことに注意してください。実行npm installすべての依存関係がインストールされていることを確認します。

0
yaya

プロジェクトのターミナルにそのようなパグをインストールします:

npm install --save ejs pug express-handlebars

app.jsエクスプレス

const app = express();

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

package.jsonでこのようになります

  "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