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

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

私は Node.js を使用しており、HTML ファイルのみを提供しようとしています (Jade、EJS などのエンジンは使用していません)。

これが私のエントリポイント (index.js) コードです:

var express = require('express');
var bodyParser = require('body-parser');

var app = express();

app.set('port', (process.env.PORT || 5000));
app.use(express.static(__dirname + '/public'));

app.use(bodyParser.urlencoded({
  extended: true
}));
app.use(bodyParser.json());

app.use(express.static(__dirname + '/public'));

app.get('*', function(req, res){
    res.render('index.html');
});

app.listen(app.get('port'), function() {
});

「localhost:5000/」という URL にアクセスすると問題なく動作しますが、「localhost:5000/whatever」のような URL にアクセスすると、次のメッセージが表示されます。エラー: モジュール 'html' が見つかりません

私はNode.jsの初心者ですが、全てファイルをレンダリングするためのルートindex.html。どうすればそれができるのでしょうか?

ありがとう。

ベストアンサー1

ビュー フォルダーを指定し、エンジンを HTML に解析する必要があります。

var express = require('express');
var bodyParser = require('body-parser');

var app = express();

app.set('port', (process.env.PORT || 5000));
app.use(express.static(__dirname + '/public'));
app.set('views', __dirname + '/public/views');
app.engine('html', require('ejs').renderFile);
app.set('view engine', 'html');

app.use(bodyParser.urlencoded({
  extended: true
}));
app.use(bodyParser.json());



app.get('*', function(req, res){
    res.render('index.html');
});

app.listen(app.get('port'), function() {
});

おすすめ記事