Сбой развертывания React / Node App в Heroku - PullRequest
0 голосов
/ 31 августа 2018
  1. Я не могу понять, что не так, пожалуйста, помогите!

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

    NPM_CONFIG_LOGLEVEL = ошибка NODE_VERBOSE = ложь NODE_ENV = производство NODE_MODULES_CACHE = TRUE -----> Установка бинарных файлов 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 каталогов каталогов (по умолчанию):
    • node_modules
    • bower_components (кешировать нечего) -----> Обрезка devDependencies Пропуск, потому что npm 5.6.0 иногда дает сбой при запуске npm prune из-за известной проблемы https://github.com/npm/npm/issues/19356

      Вы можете отключить это предупреждение, обновив по крайней мере до npm 5.7.1 в вашем package.json https://devcenter.heroku.com/articles/nodejs-support#specifying-an-npm-version -----> Сборка удалась! -----> Открытие типов процессов Procfile объявляет типы -> (нет) Типы по умолчанию для buildpack -> web -----> Сжатие ... Сделано: 33.9M -----> Запуск ... Вышел 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"
  }
}

1 Ответ

0 голосов
/ 31 августа 2018

Вы можете легко запустить свой проект под 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 файл под root

//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 Project Страница

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...