0
2020-01-25T14:33:23.080927+00:00 heroku[web.1]: Starting process with command `npm start`

2020-01-25T14:33:24.893568+00:00 heroku[web.1]: State changed from starting to crashed

2020-01-25T14:33:24.822413+00:00 app[web.1]: npm ERR! missing script: start

2020-01-25T14:33:24.829039+00:00 app[web.1]: 

2020-01-25T14:33:24.829298+00:00 app[web.1]: npm ERR! A complete log of this run can be found in:

2020-01-25T14:33:24.829400+00:00 app[web.1]: npm ERR!     /app/.npm/_logs/2020-01-
25T14_33_24_823Z-debug.log

2020-01-25T14:33:24.875898+00:00 heroku[web.1]: Process exited with status 1

2020-01-25T14:33:27.000000+00:00 app[api]: Build succeeded

2020-01-25T14:34:56.808298+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=hyperrestaurant.herokuapp.com request_id=3dc7142e-f261-4fc4-a9fd-c04b20a837f1 fwd="204.9.220.50" dyno= connect= service= status=503 bytes= protocol=https

2020-01-25T14:34:57.059549+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=hyperrestaurant.herokuapp.com request_id=9f22f080-cb8d-4ffc-a62a-216397f4fa40 fwd="204.9.220.50" dyno= connect= service= status=503 bytes= protocol=https

this is my pakage.json

  "name": "HyperApp-Starter-kit",

  "version": "4.0.1",

  "description": "",

  "main": "index.js",

  "scripts": {

    "test": "jest",

    "build": "gulp build",

    "dev:webpack": "webpack --mode development --env.NODE_ENV=dev",

    "build:webpack": "webpack --mode production --env.NODE_ENV=production",

    "watch": "gulp",

    "proxy": "gulp watch-proxy",

    "static:dev": "gulp static-dev",

    "static:build": "gulp static-dev",

    "imgs": "gulp imagemin"
  },
  "author": "",

  "license": "ISC",

  "devDependencies": {

    "@babel/core": "^7.1.5",

    "@babel/plugin-proposal-class-properties": "^7.1.0",

    "@babel/preset-env": "^7.1.5",

    "@babel/preset-es2016": "^7.0.0-beta.53",

    "@babel/preset-react": "^7.0.0",

    "@babel/preset-stage-0": "^7.0.0",

    "@babel/register": "^7.0.0",

    "autoprefixer": "^9.3.1",

    "axios": "^0.18.0",

    "babel-core": "^6.26.3",

    "babel-loader": "^8.0.4",

    "babel-preset-env": "^1.7.0",

    "browser-sync": "^2.26.3",

    "clean-webpack-plugin": "^0.1.19",

    "css-loader": "^1.0.1",

    "extract-text-webpack-plugin": "^4.0.0-beta.0",

    "gulp": "^4.0.0",

    "gulp-autoprefixer": "^3.1.1",

    "gulp-edgejs": "^0.2.4",

    "gulp-imagemin": "^5.0.3",

    "gulp-pretty-url": "^0.1.1",

    "gulp-sass": "^3.0.0",

    "har-validator": "^5.1.3",

    "html-webpack-plugin": "^3.2.0",

    "jest": "^24.8.0",

    "mini-css-extract-plugin": "^0.4.4",

    "node-sass": "^4.10.0",

    "postcss-loader": "^3.0.0",

    "prettier": "^1.15.1",

    "prettier-loader": "^2.1.1",

    "react": "^16.8.6",

    "react-dom": "^16.8.6",

    "react-redux": "^5.1.0",

    "sass-loader": "^7.1.0",

    "style-loader": "^0.23.1",

    "uglify-es": "^3.3.9",

    "uglifyjs-webpack-plugin": "^1.3.0",

    "webpack": "^4.25.1",

    "webpack-cli": "^3.1.2",

    "webpack-md5-hash": "0.0.6"

  },
  "dependencies": {
    "@babel/plugin-proposal-decorators": "^7.1.6",

    "@babel/plugin-syntax-dynamic-import": "^7.0.0",

    "@babel/plugin-transform-async-to-generator": "^7.1.0",

    "babel-plugin-transform-react-jsx": "^6.24.1",

    "express": "^4.17.1",

    "gulp-pug": "^4.0.1",

    "hyperapp": "^0.12.0",

    "serve-static": "^1.14.1",

    "svelte": "^3.4.3",

    "svelte-loader": "^2.13.4",

    "webpack-dev-server": "^3.1.14"

  }
}

and my server.js

const express = require('express')

const serveStatic = require('serve-static')

const path = require('path')

// create the express app

const app = express()

// create middleware to handle the serving the app

app.use("/", serveStatic ( path.join (__dirname, '/public')))

// serve index by default

app.get('/', function (req, res) {

  res.sendFile(__dirname + '/public/index.html')

})
// Create default port to serve the app on

const port = process.env.PORT || 5000

app.listen(port)

// Log to feedback that this is actually running

console.log('Server started on port ' + port)

1 Answer 1

2

You are missing the command in your package.json in the scripts part.

Add this start line to that:

...
  "scripts": {
    "start": "node server.js",
    "test": "jest",
...

Or anything else you use to start your application.

NOTE: in your package.json you have a main script defined as index.js and you posted a file server.js that looks like the main entry point. Maybe its intentional, but I use to have them the same.

Sign up to request clarification or add additional context in comments.

2 Comments

Hello, What if I want to deploy the static application to with startup file 'index.html' what should I do?
@PrasannaSasne the start script serves to run your node.js server, html file is not node.js javascript, but node.js can render the file if you want.. I think that if your server is configured properly to handle index.html file when you run it on localhost, it will handle the file on the heroku too. You just navigate in your browser to the desired url with index.html on the end. Try to search on web how to do it, for example here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.