Ответ 1
Я считаю, что для решения этой задачи могут быть два подхода, причем первое, вероятно, предпочтительнее. Если вы можете перемещать bundle.js
и style.css
, поместите их, а также любые другие статические файлы в каталог public
и используйте следующий подход для статического обслуживания всех файлов из public
:
app.use(express.static(__dirname + '/public'));
app.get('*', function(req, res){
res.sendfile(__dirname + '/public/index.html');
});
Этот подход предпочтительнее, потому что он "будет работать", когда вы поместите новые статические файлы в каталог public
. Затем вы сможете получить доступ к этим статическим файлам в http://server:port/bundle.js (или соответствующую дочернюю папку в зависимости от выбранной вами иерархии)
В качестве альтернативы вы можете оставить структуру файла как есть и использовать порядок, в котором определены маршруты, чтобы выполнить аналогичное поведение, хотя оно не так гибко и по существу статически определено:
app.get('/bundle.js', function(req, res){
res.sendfile(__dirname + '/bundle.js');
});
app.get('/style.css', function(req, res){
res.sendfile(__dirname + '/style.css');
});
app.get('*', function(req, res){
res.sendfile(__dirname + '/public/index.html');
});