4
var express = require("express");
var fs = require('fs');
var sys = require('sys');

var app = express();
    app.use(express.logger());

app.get('/', function(req, res){
    fs.readFile('/views/index.html');
});

app.listen(8080);
console.log('Express server started');

テンプレートエンジンの翡翠は使いたくない。ビューフォルダ内にある単純なindex.htmlページを開くにはどうすればよいですか。サーバーは起動していますが、index.htmlページを読み込めないようです。

4

4 に答える 4

8

express 3.0.0rc3を使用すると、次のように機能します。

app.set('views', __dirname + '/views');
app.engine('html', require('ejs').renderFile);

または

app.set("view options", {layout: false});
app.use(express.static(__dirname + '/public'));

したがって、最終的なコードは次のようになります。

var express = require("express");
var fs = require('fs');
var sys = require('sys');

var app = express();
    app.use(express.logger());
    app.set("view options", {layout: false});
    app.use(express.static(__dirname + '/views'));

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

app.listen(8080);
console.log('Express server started');
于 2012-12-07T15:06:56.447 に答える
1

これで、res.send()を使用する代わりに、res.sendfile('index.html')を使用できます。

于 2019-10-21T19:37:23.143 に答える
0

Express v4.7.1を使用し、テンプレートエンジンのヒスイを使用しない場合、これは正常に機能します。

最新のリリースでは、sendfile()がsendFile()に変更されました。

ファイルパスの場合、サーバーはルートディレクトリからファイルのパスを見つけようとするため、パス全体を指定するか、「_ dirname」を使用する必要があります。そうしないと、常にファイルが見つかりませんというエラーが発生します。

var express = require("express");
var path = require('path');
var app = express();

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

});

app.listen(8080);
console.log('Express server started');

それが役に立てば幸い。ハッピーコーディング:)

于 2020-09-02T05:04:40.087 に答える
0
let express=require('express');
let app=express();


app.get( '/', (req,res)=>{
res.sendFile(__ dirname + "/my.txt");

})
app.listen(4000);

これを試して。それはうまくいくでしょう。

于 2021-11-17T03:29:06.467 に答える