无法部署MERN应用。生产失败。什么是正确的package.json

时间:2019-06-21 16:39:42

标签: node.js reactjs heroku node-modules create-react-app

我已经尝试部署我的Mern应用一个月了。没运气! 我检查了数百个:“无法在heroku上部署Mern”,“完整指南,让我们在Heroku上部署Mern应用程序”找不到有效的解决方案。部署不会失败,但是应用程序立即崩溃。
因此,我使用client / src中的setupProxy文件进行调用以表达开发中的路由。

我尝试了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\""
}

我的server.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")
});

那是heroku tail的输出

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

0 个答案:

没有答案