2017-04-15 41 views
-2

私はこの質問に対してここで回答を見てきましたが、何も私を助けませんでした。解決策の中には私にさらに多くのエラーを与えているものもあります。エラー:Node.JSとExpressでモジュール 'html'を見つけることができません

私がしようとしているのは、Node.JSを使って別のページにルーティングすることです。 MEANスタックで少し学んだので、Node、Express、Angularを使用することに決めました(まだ得られていません)。私が '/'経路以外の場所に移動しようとすると、 'モジュール' html 'が見つかりませんというエラーが表示されます。問題のコードは次のとおりです。

//dependencies 
var express = require('express'); 
var path = require('path'); 
var engines = require('consolidate') 

//variables 
var RUN_PORT = 8080; 
var VIDEO_IN_PORT = 45679; 
var CONTROL_OUT = 45678; 
var app = express(); 

app.use(express.static(path.join(__dirname, 'public'))); 

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

//robot_control.html routing 
app.get('/robot_control', function(req, res){ 
    res.render("robot_control.html"); 
}); 

//error.html routing 
app.get('/error', function(req, res){ 
    res.render("error.html"); 
}); 

//showing that the program is running on the RUN_PORT 
app.listen(RUN_PORT, function(){ 
    console.log("Running on port " + RUN_PORT); 
}); 

ここでは表示されません。すべてがうまく見えるようです。私がpackage.jsonにインストールしたのはExpressです。私はインデックスのページにはうまくいくことができますが、それ以外のエラーはそのエラーを引き起こします。

答えて

1

.htmlという拡張子を持つファイルをレンダリングする方法をExpressに伝えていないため、問題はres.render('SOMEFILE.html')を使用することによって発生します。

あなたは(まだ)任意のテンプレートを使用していないので、あなたは、この使用することができます:あなたがテンプレートを使用して起動したい場合は

// Somewhere at the top: 
const path = require('path'); 
const VIEWS = path.join(__dirname, 'views'); 
... 

// In your route handlers: 
res.sendFile('index.html', { root : VIEWS }); 

を、ここを見て:http://expressjs.com/en/guide/using-template-engines.html

関連する問題