Как исправить не найденную ошибку с Heroku Deployment - PullRequest
1 голос
/ 14 апреля 2020

Я новичок в веб-разработке, и у меня возникают некоторые проблемы при развертывании моего самого базового c веб-сайта с Heroku. После создания приложения я успешно перенес приложение на git и развернул его в Heroku. Кроме того, он работает локально просто отлично.

Однако, после открытия приложения (с помощью команды «Heroku open» и нажатия кнопки «Открыть приложение» на самой странице приложения Heroku), я получаю страницу, которая говорит Не найдено .

Я искал решение повсюду и был бы очень признателен за помощь здесь. Спасибо.

Procfile:

web: node server.js

пакет. json:

 {                                                                               
   "name": "LHSite",                                                           
   "version": "1.0.0",                                                         
   "engines": {                                                                
       "node": "13.12.x"                                                       
   },                                                                          
   "scripts": {                                                                
       "start": "node server.js"                                               
   },                                                                          
   "dependencies": {                                                           
      "express": "4.17.1"                                                     
   },                                                                          
   "author": "Hunter Estrada",                                                 
   "license": "ISC"
 }

сервер. js:

var express = require('express');
var app = express();
var port = process.env.PORT || 8080
app.use(express.static(__dirname));
app.get("/", function(req, res) {
    res.sendFile("/Users/<user>/CS/LHSite/Apr29Home.html");
}
app.listen(port, function() {
    console.log("app running");
}

Структура файла: структура файла для моего веб-сайта

Вот URL моего приложения: https://lh-anni-2.herokuapp.com

1 Ответ

0 голосов
/ 14 апреля 2020

Промежуточное программное обеспечение express .stati c отделено от res.sendFile. Вам необходимо использовать абсолютный путь непосредственно с res.sendFile. Вы можете сделать это:

  1. создать каталог publi c в папке текущего проекта и поместить туда файл html.

  2. include модуль пути на сервере. js файл, такой как

const path = require('path');

замените ваш res.sendFile на строчку кода ниже

res.sendFile(path.join(__dirname, './public', 'Apr29Home.html'));

Примечание: __dirname возвращает каталог, в котором находится исполняемый в данный момент скрипт.

...