Я уже месяц пытаюсь развернуть приложение mern. Неудачно!
Я проверил сотни: «Не могу развернуть mern на heroku», «Полное руководство Давайте развернем ваше приложение mern o heroku», не могу найти рабочее решение. Развертывание не приводит к сбою, но приложение сразу падает.
Поэтому я использовал файл setupProxy в client / src для выполнения вызовов для экспресс-маршрутов в разработке.
Я перепробовал все возможные способы сценариев package.json. Так что сейчас я даже не знаю, какой сценарий там нужен.
Также у меня есть файл proc с одной строкой кода:
web: node server.js
Мои сценарии в package.json прямо сейчас:
"scripts": {
"build": "npm install --prefix client && npm install",
"client-install": "npm install --prefix client",
"start": "node server.js",
"server": "node server.js",
"client": "npm start --prefix client",
"dev": "concurrently \"npm run server\" \"npm run client\""
}
Этот тоже не работает:
"scripts": {
"heroku-postbuild": "cd client && npm install && npm run build",
"start": "node server.js",
"server": "node server.js",
"client": "npm start --prefix client",
"dev": "concurrently \"npm run server\" \"npm run client\""
}
Мой сервер.js:
// Loading env variables into our APP.
require('dotenv').config();
const fs = require('fs');
const express = require("express");
const app = express();
const passport = require("passport");
const bodyParser = require("body-parser"); //body parser allows us to take data from forms and use req.body.parametr ex: req.body.name
const mongoose = require("mongoose");
const flash = require("connect-flash");
const cookieParser = require('cookie-parser');
const cookieSession = require("cookie-session");
const path = require("path");
// Connecting to DB
mongoose.connect(process.env.MONGO_URI)
.then(() => console.log("MongoDB successfully connected"))
.catch(err => console.log(err));
// EXPRESS APP CONFIGURATION:
// Parsing data from the forms! This step is super important in order for passport to work.
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(bodyParser.json());
app.use(cookieParser());
// Express session creates a new session each time we logIn
app.use(require("express-session")({
secret: process.env.XPRESS_SEC ,
resave: true,
saveUninitialized: true
}));
// Setting default Engine and default directory.
app.set("view engine", "ejs");
app.use(express.static("public"));
app.use(flash());
// AUTH flow with Passport.
// Calling Passport to initializa and create a session.
app.use(passport.initialize());
app.use(passport.session());
// Creating a function that will check if user loged in or not.
app.use(function(req, res, next){
res.locals.currentUser = req.user;// req.user will either be empty or contain information about user from the request
res.locals.error = req.flash("error");
res.locals.success = req.flash("success");
next();
});
//CRUD ROUTES
require('./routes/api/authRoutes')(app);
require('./routes/api/itemsRoutes')(app);
// PASSPORT.js CONFIGURATION IMPORT
require("./services/passportConfig")
// Right before your app.listen(), add this:
app.get("*", (req, res) => {
res.sendFile(path.join(__dirname, "client/build/index.html"));
});
app.listen( 5000 || process.env.PORT, process.env.IP,function(){
console.log("Server had been started")
});
То есть на выходе из хвоста герою
civilizador:~/workspace/old_friends (master) $ heroku logs --tail
2019-06-21T16:38:08.745074+00:00 app[web.1]: Error: Cannot find module './helpers/schema/setParentPointers'
2019-06-21T16:38:08.745077+00:00 app[web.1]: at Function.Module._resolveFilename (internal/modules/cjs/loader.js:655:15)
2019-06-21T16:38:08.745080+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:580:25)
2019-06-21T16:38:08.745082+00:00 app[web.1]: at Module.require (internal/modules/cjs/loader.js:711:19)
2019-06-21T16:38:08.745084+00:00 app[web.1]: at require (internal/modules/cjs/helpers.js:14:16)
2019-06-21T16:38:08.745087+00:00 app[web.1]: at Object.<anonymous> (/app/node_modules/mongoose/lib/model.js:44:27)
2019-06-21T16:38:08.745089+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:805:30)
2019-06-21T16:38:08.745091+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:816:10)
2019-06-21T16:38:08.745093+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:672:32)
2019-06-21T16:38:08.745095+00:00 app[web.1]: at tryModuleLoad (internal/modules/cjs/loader.js:612:12)
2019-06-21T16:38:08.745097+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:604:3)
2019-06-21T16:38:08.745099+00:00 app[web.1]: at Module.require (internal/modules/cjs/loader.js:711:19)
2019-06-21T16:38:08.745102+00:00 app[web.1]: at require (internal/modules/cjs/helpers.js:14:16)
2019-06-21T16:38:08.745103+00:00 app[web.1]: at Object.<anonymous> (/app/node_modules/mongoose/lib/index.js:25:15)
2019-06-21T16:38:08.745105+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:805:30)
2019-06-21T16:38:08.745107+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:816:10)
2019-06-21T16:38:08.745110+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:672:32)
2019-06-21T16:38:08.807506+00:00 heroku[web.1]: Process exited with status 1
2019-06-21T17:05:55.139264+00:00 heroku[web.1]: State changed from crashed to starting
2019-06-21T17:06:03.721177+00:00 heroku[web.1]: Starting process with command `node server.js`
2019-06-21T17:06:06.651746+00:00 heroku[web.1]: State changed from starting to crashed
2019-06-21T17:06:06.572426+00:00 app[web.1]: internal/modules/cjs/loader.js:657
2019-06-21T17:06:06.572466+00:00 app[web.1]: throw err;
2019-06-21T17:06:06.572468+00:00 app[web.1]: ^
2019-06-21T17:06:06.572470+00:00 app[web.1]:
2019-06-21T17:06:06.572477+00:00 app[web.1]: Error: Cannot find module './helpers/schema/setParentPointers'
2019-06-21T17:06:06.572484+00:00 app[web.1]: at Function.Module._resolveFilename (internal/modules/cjs/loader.js:655:15)
2019-06-21T17:06:06.572486+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:580:25)
2019-06-21T17:06:06.572488+00:00 app[web.1]: at Module.require (internal/modules/cjs/loader.js:711:19)
2019-06-21T17:06:06.572489+00:00 app[web.1]: at require (internal/modules/cjs/helpers.js:14:16)
2019-06-21T17:06:06.572490+00:00 app[web.1]: at Object.<anonymous> (/app/node_modules/mongoose/lib/model.js:44:27)
2019-06-21T17:06:06.572492+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:805:30)
2019-06-21T17:06:06.572493+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:816:10)
2019-06-21T17:06:06.572495+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:672:32)
2019-06-21T17:06:06.572496+00:00 app[web.1]: at tryModuleLoad (internal/modules/cjs/loader.js:612:12)
2019-06-21T17:06:06.572497+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:604:3)
2019-06-21T17:06:06.572499+00:00 app[web.1]: at Module.require (internal/modules/cjs/loader.js:711:19)
2019-06-21T17:06:06.572500+00:00 app[web.1]: at require (internal/modules/cjs/helpers.js:14:16)
2019-06-21T17:06:06.572502+00:00 app[web.1]: at Object.<anonymous> (/app/node_modules/mongoose/lib/index.js:25:15)
2019-06-21T17:06:06.572503+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:805:30)
2019-06-21T17:06:06.572504+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:816:10)
2019-06-21T17:06:06.572506+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:672:32)
2019-06-21T17:06:06.625233+00:00 heroku[web.1]: Process exited with status 1
2019-06-21T17:49:47.000000+00:00 app[api]: Build started by user salimli.lala@gmail.com
2019-06-21T17:56:24.000000+00:00 app[api]: Build started by user salimli.lala@gmail.com
2019-06-21T17:57:37.931846+00:00 app[api]: Deploy 733fad9b by user salimli.lala@gmail.com
2019-06-21T17:57:37.931846+00:00 app[api]: Release v22 created by user salimli.lala@gmail.com
2019-06-21T17:57:38.482049+00:00 heroku[web.1]: State changed from crashed to starting
2019-06-21T17:57:39.000000+00:00 app[api]: Build succeeded
2019-06-21T17:57:49.915058+00:00 heroku[web.1]: Starting process with command `node server.js`
2019-06-21T17:57:52.697123+00:00 heroku[web.1]: State changed from starting to crashed
2019-06-21T17:57:52.705395+00:00 heroku[web.1]: State changed from crashed to starting
2019-06-21T17:57:52.675211+00:00 heroku[web.1]: Process exited with status 1
2019-06-21T17:57:52.618522+00:00 app[web.1]: internal/modules/cjs/loader.js:657
2019-06-21T17:57:52.618552+00:00 app[web.1]: throw err;
2019-06-21T17:57:52.618555+00:00 app[web.1]: ^
2019-06-21T17:57:52.618557+00:00 app[web.1]:
2019-06-21T17:57:52.618559+00:00 app[web.1]: Error: Cannot find module './helpers/schema/setParentPointers'
2019-06-21T17:57:52.618562+00:00 app[web.1]: at Function.Module._resolveFilename (internal/modules/cjs/loader.js:655:15)
2019-06-21T17:57:52.618564+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:580:25)
2019-06-21T17:57:52.618566+00:00 app[web.1]: at Module.require (internal/modules/cjs/loader.js:711:19)
2019-06-21T17:57:52.618568+00:00 app[web.1]: at require (internal/modules/cjs/helpers.js:14:16)
2019-06-21T17:57:52.618570+00:00 app[web.1]: at Object.<anonymous> (/app/node_modules/mongoose/lib/model.js:44:27)
2019-06-21T17:57:52.618572+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:805:30)
2019-06-21T17:57:52.618574+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:816:10)
2019-06-21T17:57:52.618576+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:672:32)
2019-06-21T17:57:52.618578+00:00 app[web.1]: at tryModuleLoad (internal/modules/cjs/loader.js:612:12)
2019-06-21T17:57:52.618580+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:604:3)
2019-06-21T17:57:52.618582+00:00 app[web.1]: at Module.require (internal/modules/cjs/loader.js:711:19)
2019-06-21T17:57:52.618585+00:00 app[web.1]: at require (internal/modules/cjs/helpers.js:14:16)
2019-06-21T17:57:52.618587+00:00 app[web.1]: at Object.<anonymous> (/app/node_modules/mongoose/lib/index.js:25:15)
2019-06-21T17:57:52.618589+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:805:30)
2019-06-21T17:57:52.618591+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:816:10)
2019-06-21T17:57:52.618593+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:672:32)
2019-06-21T17:58:01.678935+00:00 heroku[web.1]: Starting process with command `node server.js`
2019-06-21T17:58:03.993912+00:00 heroku[web.1]: State changed from starting to crashed
2019-06-21T17:58:03.962540+00:00 heroku[web.1]: Process exited with status 1
2019-06-21T17:58:03.899731+00:00 app[web.1]: internal/modules/cjs/loader.js:657
2019-06-21T17:58:03.899799+00:00 app[web.1]: throw err;
2019-06-21T17:58:03.899802+00:00 app[web.1]: ^
2019-06-21T17:58:03.899804+00:00 app[web.1]:
2019-06-21T17:58:03.899806+00:00 app[web.1]: Error: Cannot find module './helpers/schema/setParentPointers'
2019-06-21T17:58:03.899809+00:00 app[web.1]: at Function.Module._resolveFilename (internal/modules/cjs/loader.js:655:15)
2019-06-21T17:58:03.899811+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:580:25)
2019-06-21T17:58:03.899813+00:00 app[web.1]: at Module.require (internal/modules/cjs/loader.js:711:19)
2019-06-21T17:58:03.899815+00:00 app[web.1]: at require (internal/modules/cjs/helpers.js:14:16)
2019-06-21T17:58:03.899816+00:00 app[web.1]: at Object.<anonymous> (/app/node_modules/mongoose/lib/model.js:44:27)
2019-06-21T17:58:03.899818+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:805:30)
2019-06-21T17:58:03.899820+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:816:10)
2019-06-21T17:58:03.899822+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:672:32)
2019-06-21T17:58:03.899824+00:00 app[web.1]: at tryModuleLoad (internal/modules/cjs/loader.js:612:12)
2019-06-21T17:58:03.899826+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:604:3)
2019-06-21T17:58:03.899828+00:00 app[web.1]: at Module.require (internal/modules/cjs/loader.js:711:19)
2019-06-21T17:58:03.899830+00:00 app[web.1]: at require (internal/modules/cjs/helpers.js:14:16)
2019-06-21T17:58:03.899832+00:00 app[web.1]: at Object.<anonymous> (/app/node_modules/mongoose/lib/index.js:25:15)
2019-06-21T17:58:03.899835+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:805:30)
2019-06-21T17:58:03.899837+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:816:10)
2019-06-21T17:58:03.899839+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:672:32)
2019-06-21T17:58:05.599588+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=old-friend.herokuapp.com request_id=acb290cc-9dd9-4c9b-8a20-fc4a507830c4 fwd="134.242.92.97" dyno= connect= service= status=503 bytes= protocol=https
2019-06-21T17:58:05.854505+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=old-friend.herokuapp.com request_id=08b4f33c-1790-4476-9a43-d14675328986 fwd="134.242.92.97" dyno= connect= service= status=503 bytes= protocol=https