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

エラー: モジュール '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 モジュールをインストールします。

エラー: Function.Module._resolveFilename (module.js:485:15)、Function.Module._load (module.js:437:25)、Module.require (module.js:513:17)、require (internal/module.js:11:18)、新しい View (/home/software/node_modules/express/lib/view.js:80:30)、Function.render (/home/software/node_modules/express/lib/application.js:570:12)、ServerResponse.render (/home/software/node_modules/express/lib/response.js:971:7)、/home/software/Harsh Patel/pug_with_node/index.js:8:7、Layer.handle [as handle_request] でモジュール 'pug' が見つかりません(/home/software/node_modules/express/lib/router/layer.js:95:5) 次の (/home/software/node_modules/express/lib/router/route.js:137:13)

ベストアンサー1

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

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

前に

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

これで私も同じ問題を解決できました!

おすすめ記事