使用express with create-react-app不需要调用app.get()吗?

时间:2017-01-18 19:07:18

标签: reactjs express

我制作了一个小型网络应用,并尝试按照Official Tutorial的说明进行部署。我成功运行了npm run build,然后我从教程中复制了index.js并进行了一些修改:

const express = require('express');
const path = require('path');
const app = express();
const auth = require('basic-auth'); // A

app.use(express.static('./build'));

app.get('/', function (req, res) {
    const credentials = auth(req); // B
    res.sendFile(path.join(__dirname, './build', 'index.html'));
});

app.listen(9000);

其中A行和B行用于检查授权。按node index.js启动服务器时,访问localhost:9000可能会按预期收到构建的index.html。但是,B线根本没有处理过。我不知道发生了什么,所以我尝试删除整个app.get调用并再次启动服务器:

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

app.use(express.static('./build'));

app.listen(9000);

令人惊讶的是,访问localhost:9000时,一切仍然正常。这是正确的行为吗?

P.S。我找到了一个可行的解决方法:将build/index.html文件重命名为build/index2.html,然后调用

res.sendFile(path.join(__dirname, './build', 'index2.html'));

代替。文件index.html是否特别表达?

0 个答案:

没有答案