【问题标题】:issue deploying node.js server to heroku将node.js服务器部署到heroku的问题
【发布时间】:2019-09-25 12:41:04
【问题描述】:

我遇到了错误

应用程序发生错误,无法提供您的页面。

运行“heroku open”命令时。在 heroku 仪表板上,它说部署成功,但是它不会从 app.get 代码行运行“它正在工作”。

server.js

const express = require('express');
const bodyParser = require('body-parser');
const bcrypt = require('bcrypt-nodejs');
const cors = require('cors');
const knex = require('knex');

const register = require('./controllers/register');
const signin = require('./controllers/signin');
const profile = require('./controllers/profile');
const image = require('./controllers/image');

const db = knex({
  client: 'pg',
  connection: {
    host : '127.0.0.1',
    user : 'benjohnson',
    password : '',
    database : 'smart-brain'
  }
});



const app = express();

app.use(cors());
app.use(bodyParser.json());

app.get('/', (req, res)=> { res.send('its working!') })
app.post('/signin', signin.handleSignin(db, bcrypt))
app.post('/register', (req, res) => { register.handleRegister(req, res, db, bcrypt) })
app.get('/profile/:id', (req, res) => { profile.handleProfileGet(req, res, db)})
app.put('/image', (req, res) => { image.handleImage(req, res, db)})
app.post('/imageurl', (req, res) => { image.handleApiCall(req, res)})

app.listen(process.env.PORT || 3000, ()=> {
  console.log(`app is running on port ${process.env.PORT}`);
})

在 heroku cli 中运行 server.js 文件时收到错误,运行“heroku logs --tail”时收到此错误?

> node@1.0.0 start /Users/benjohnson/.Trash
> nodemon server.js

sh: nodemon: command not found
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! node@1.0.0 start: `nodemon server.js`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the node@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likel
y additional logging output above.
npm WARN Local package.json exists, but node_modules missing, di
d you mean to install?

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/benjohnson/.npm/_logs/2019-09-25T14_11_11_91
0Z-debug.log

【问题讨论】:

    标签: node.js heroku server


    【解决方案1】:

    错误是关于 nodemon。
    打开package.json,和server.js在同一个文件夹
    查找:

    "scripts": {
        "start": " nodemon server.js",
      },
    

    并将其替换为:

    "scripts": {
        "start": "node server.js",
        "start:dev": "nodemon server.js"
      },
    

    在 Heroku 中再次上传。
    当您想在本地运行项目时,只需在终端中运行npm start:dev,它就会使用 nodemon 加载 server.js。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-07
      • 2016-08-30
      • 1970-01-01
      • 1970-01-01
      • 2016-07-24
      • 1970-01-01
      • 2022-01-09
      • 2016-12-05
      相关资源
      最近更新 更多