2017-09-21 9 views
0

でHTMLページを読み込みます。私はnode.jsをとても使い慣れています。私の無能を許してください。ノード

w3schoolのチュートリアルに続いて、自分のコンピュータのlocalhost:8080に基本ノードアプリケーションを設定しました。

var http = require('http'); 

http.createServer(function (req, res) { 
    res.writeHead(200, {'Content-Type': 'text/html'}); 
    res.end('Hello World!'); 
}).listen(8080); 

これは正しく動作し、ローカルホストにhello worldを表示します。しかし、私は同じフォルダレベルにある別のhtmlドキュメントに読み込む方法を見つけることができないようです。私はこれを行うにしようとしています:

var http = require('http'); 
const express = require('express'); 
const app = express(); 

http.createServer(function (req, res) { 
    res.render('index'); 
}).listen(8080); 

私はマスターフォルダに発現するが、私はまだ、エラーを取得していますダウンロードした「例外TypeError:res.renderは関数ではありません」私の端末で。これをどうやって解決するのですか?

答えて

2

代わりに、Express static middlewareを使用して、ファイルを提供してページルートへのGET要求に応答するためにroute methodを作成することもできます。また、ファイルパスに関するプラットフォーム固有の問題を回避するには、を使用します。__dirnameは、作業ディレクトリの絶対パスを設定します。

const http = require('http'); 
const path = require('path'); 
const express = require('express'); 
const app = express();  

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

app.get('/', function (req, res) { 
    res.sendFile(path.join(__dirname, 'index.html')); 
}); 

http.createServer(app).listen(8080, function(){ 
    console.log('HTTP server listening on port 8080'); 
});