При попытке развернуть приложение Node.js React для Интернета на Heroku или Github Pages, оно работает локально и не будет работать на Heroku. Зачем? - PullRequest
0 голосов
/ 17 июня 2020

Я пытаюсь развернуть это:
https://github.com/D474designs/youtube-react
Я использовал Express. js, и стек, в котором он идет, это работает локально, но никогда на Heroku. Я объявил двигатели и все другие решения, относящиеся к ошибке H10. Это странно, потому что раньше я без проблем развертывал на Heroku.
У меня также есть проблема с моей страницей Github:
https://github.com/D474/D474.github.io
У меня была он запущен после обновления React для использования Prop-Types, я столкнулся с ограничением квоты на API с YouTube, и теперь, несмотря ни на что, даже используя новый ключ API и ожидая ежедневного сброса, API не потянет.

Вы можете увидеть рассматриваемый репозиторий здесь:
https://github.com/D474developments/D474

Эти две проблемы связаны, они связаны оба используют React, Node и YouTube Data API v3.
Я пытаюсь обновить свою страницу Github. Были использованы

web: node app.js  

и

web: npm start  

, так как я использовал Express. js, а также React-Scripts для обслуживания приложения. Я обсуждаю использование папки bin и www file, поскольку это то, что я использовал в развернутом исходном приложении Heroku, которое также использовало React, а также Express. js. Я объявил движки в package. json, чтобы получить код ошибки после устранения неполадок при развертывании Heroku.

Вот журнал от Heroku:

2020-06-17T08:59:57.387490+00:00 heroku[web.1]: Starting process with command `node app.js`
2020-06-17T08:59:58.000000+00:00 app[api]: Build succeeded
2020-06-17T08:59:59.405721+00:00 app[web.1]: internal/modules/cjs/loader.js:969
2020-06-17T08:59:59.405744+00:00 app[web.1]: throw err;
2020-06-17T08:59:59.405744+00:00 app[web.1]: ^
2020-06-17T08:59:59.405745+00:00 app[web.1]:
2020-06-17T08:59:59.405745+00:00 app[web.1]: Error: Cannot find module '/app/app.js'
2020-06-17T08:59:59.405746+00:00 app[web.1]: at Function.Module._resolveFilename (internal/modules/cjs/loader.js:966:15)
2020-06-17T08:59:59.405746+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:842:27)
2020-06-17T08:59:59.405746+00:00 app[web.1]: at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
2020-06-17T08:59:59.405746+00:00 app[web.1]: at internal/main/run_main_module.js:17:47 {
2020-06-17T08:59:59.405747+00:00 app[web.1]: code: 'MODULE_NOT_FOUND',
2020-06-17T08:59:59.405747+00:00 app[web.1]: requireStack: []
2020-06-17T08:59:59.405747+00:00 app[web.1]: }
2020-06-17T08:59:59.446202+00:00 heroku[web.1]: Process exited with status 1
2020-06-17T08:59:59.484953+00:00 heroku[web.1]: State changed from starting to crashed
2020-06-17T08:59:59.487395+00:00 heroku[web.1]: State changed from crashed to starting
2020-06-17T09:00:07.406170+00:00 heroku[web.1]: Starting process with command `node app.js`
2020-06-17T09:00:09.178105+00:00 app[web.1]: internal/modules/cjs/loader.js:969
2020-06-17T09:00:09.178127+00:00 app[web.1]: throw err;
2020-06-17T09:00:09.178127+00:00 app[web.1]: ^
2020-06-17T09:00:09.178128+00:00 app[web.1]:
2020-06-17T09:00:09.178128+00:00 app[web.1]: Error: Cannot find module '/app/app.js'
2020-06-17T09:00:09.178129+00:00 app[web.1]: at Function.Module._resolveFilename (internal/modules/cjs/loader.js:966:15)
2020-06-17T09:00:09.178129+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:842:27)
2020-06-17T09:00:09.178129+00:00 app[web.1]: at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
2020-06-17T09:00:09.178130+00:00 app[web.1]: at internal/main/run_main_module.js:17:47 {
2020-06-17T09:00:09.178130+00:00 app[web.1]: code: 'MODULE_NOT_FOUND',
2020-06-17T09:00:09.178130+00:00 app[web.1]: requireStack: []
2020-06-17T09:00:09.178131+00:00 app[web.1]: }
2020-06-17T09:00:09.227561+00:00 heroku[web.1]: Process exited with status 1
2020-06-17T09:00:09.283702+00:00 heroku[web.1]: State changed from starting to crashed
2020-06-17T09:00:56.159380+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=reactrcore.herokuapp.com request_id=1a11d8fd-f9fe-49de-8ceb-53546a50370d fwd="187.131.207.137" dyno= connect= service= status=503 bytes= protocol=http
2020-06-17T09:00:56.536098+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=reactrcore.herokuapp.com request_id=4d9ed39f-5dc3-4578-9d44-b79edf84dc26 fwd="187.131.207.137" dyno= connect= service= status=503 bytes= protocol=http

Это код Express, который я пытался реализовать:

const express = require('express');
const bodyParser = require('body-parser')
const path = require('path');
const app = express();
app.use(express.static(path.join(__dirname, 'build')));

app.get('/ping', function (req, res) {
 return res.send('pong');
});

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

app.use(express.static("public"))

app.listen(process.env.PORT || 5000, 
    () => console.log("Server is running..."));

Это распространенная проблема в Интернете , и я прочитал все соответствующие статьи, касающиеся развертывания приложений React с использованием Node.js как с Heroku, так и с gh-страницами, по крайней мере, относящиеся к моей проблеме. Я знаю, что в node_modules есть сложности и особенности, которые необходимо учитывать при развертывании на Heroku и использовании gh-страниц.

...