Nodejs + Express总是返回index.html

时间:2017-04-23 09:37:44

标签: javascript html node.js express

那么,这是什么,我没有看到这里?

问题是无论我把文件放在什么地方:

app.get('/', function(req, res){
    res.sendfile(__dirname + "/index2");
});

似乎总是返回index.html。 截至目前,它说index2.html确实是一个合法的文件 使用HTML页面,但每当我运行此服务器并转到localhost:8080它 仍会提供基本的index.html而不是index2.html

同样,更改index.html会显示更改,因此我认为它不是缓存问题。

但是再次如果按下提交按钮,app.post将正常工作并将您重定向到kiitos.html

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

app.use(bodyParser());

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


app.get('/', function(req, res){



res.sendfile(__dirname + "/index2.html");


});

app.post('/', function(req, res){

    var code = req.body.code;
    console.log(code);


  res.sendFile( __dirname + "/kiitos.html");

});



app.listen(8080);

1 个答案:

答案 0 :(得分:0)

您的静态文件夹是提供index.html文件的文件夹,因为它是您的根文件夹。

尝试为静态文件(如图像,脚本和css文件)创建public文件夹,并将html文件移到views文件夹中,然后使用:

// save static files like images, scripts and css in `public`...
app.use(express.static(__dirname + '/public'))

app.get('/', function(req, res){

    // save html files in the `views` folder...
    res.sendfile(__dirname + "/views/index2.html");
});


app.post('/', function(req, res){

    var code = req.body.code;
    console.log(code);

    res.sendFile( __dirname + "/views/kiitos.html");
});