Сбой развертывания приложения React / Node в Heroku

  1. Я не могу понять, что не так, пожалуйста, помогите!

    -----> Обнаружено приложение Node.js -----> Создание среды выполнения

    NPM_CONFIG_LOGLEVEL = ошибка NODE_VERBOSE = ложь NODE_ENV = производство NODE_MODULES_CACHE = верно -----> Установка двоичных файлов engine.node (package.json): не указано engine.npm (package.json): не указано (использовать по умолчанию)

    Разрешение узла версии 8.x ... Скачивание и установка узла 8.11.4 ... Используется версия npm по умолчанию: 5.6.0 -----> Восстановление кеша Загрузка 2 из cacheDirectories (по умолчанию):

    • node_modules
    • bower_components (не кешируется - пропускается) -----> Создание зависимостей Установка узловых модулей (package.json + package-lock) обновлено через 5,321 сек. -----> Кеширование сборки Очистка кеша предыдущего узла Сохранение 2 cacheDirectories (по умолчанию):
    • node_modules
    • bower_components (нечего кешировать) -----> Удаление зависимостей devDependencies Пропуск из-за того, что npm 5.6.0 иногда дает сбой при запуске npm prune из-за известной проблемы https://github.com/npm/npm/issues/19356

      Вы можете отключить это предупреждение, обновив свой package.json до npm 5.7.1. https://devcenter.heroku.com/articles/nodejs-support#specifying-an-npm-version -----> Сборка выполнена! -----> Обнаружение типов процессов Procfile объявляет типы -> (нет) Типы по умолчанию для buildpack -> web -----> Сжатие ... Готово: 33,9 млн -----> Запускаем ... Выпущена v36 https://space-hangman.herokuapp.com/ развернут на Heroku

Вот мой package.json:

{
  "name": "github-fetcher-fullstack-v2",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "react-dev": "webpack -d --watch",
    "start": "nodemon server/index.js"
  },
  "license": "ISC",
  "devDependencies": {
    "babel-core": "^6.23.1",
    "babel-loader": "^6.3.2",
    "babel-preset-es2015": "^6.22.0",
    "babel-preset-react": "^6.23.0",
    "webpack": "^2.2.1"
  },
  "dependencies": {
    "angular": "^1.6.3",
    "animate.css": "^3.7.0",
    "bluebird": "^3.5.1",
    "body-parser": "^1.17.2",
    "bootstrap": "^4.1.3",
    "express": "^4.15.0",
    "jquery": "^3.1.1",
    "moment": "^2.22.2",
    "mongoose": "^4.8.6",
    "mysql": "^2.13.0",
    "popper.js": "^1.14.4",
    "react": "^15.4.2",
    "react-animated-css": "^1.0.4",
    "react-dom": "^15.4.2",
    "react-router-dom": "^4.3.1",
    "react-simple-popover": "^0.2.4",
    "request": "^2.88.0",
    "unirest": "^0.5.1"
  }
}

Можете ли вы поделиться своим URL-адресом репо?

Ahmet Zeybek 31.08.2018 05:44
github.com/begonaguereca/hangman :)
BeeGee 31.08.2018 06:09

Извините, я спал, я получаю Error: Cannot find module './keys/config.js', вы добавили config.js в .gitignores

Ahmet Zeybek 31.08.2018 14:55
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
3
594
2

Ответы 2

Вы можете легко запустить свой проект под heroku, используя express.js. Все ваши зависимости должны быть под dependencies

package.json

  "scripts": {
    "build": "Add yours",
    "postinstall": "Same with build",
    "start": "node server.js" // Heroku looks for this
  },
  "dependencies": {
     Add all your dependencies here
  }

Создайте файл server.js под корнем

//Install express server
const express = require('express');
const path = require('path');

const app = express();

// Your dist folder
app.use(express.static(__dirname + '/react-client/dist/'));

app.get('/*', function(req,res) {
  res.sendFile(path.join(__dirname+'/react-client/dist/index.html'));
});

// Start the app by listening on the default Heroku port
app.listen(process.env.PORT || 8080);

SynonymFinder.js

.header("X-Mashape-Key", process.env.SYNONYMKEY) // You can use Environment Variables for API Key

Добавьте свой API-ключ в Config Vars под своей страницей Настройки проекта Heroku

Попробуйте указать свои версии Node и npm в engines как объект;

package.json:

{
"name": "github-fetcher-fullstack-v2", 
  ...

//starts here 

 "engines": {    
    "node": "10.x"  
    "npm": ""       
  }

 //ends here

и вам также может понадобиться сервер, если ваш сайт статический, проверьте эта ссылка

Другие вопросы по теме