I am new to Heroku and believe I am following all of the steps outlined on Heroku\'s website to deploy via node.js – https://devcenter.heroku.com/articles/getting-started-wi
almost 3 years, but I'm answering for reference.
Just a simple example croped for your package.json
{
"dependencies: {
"bower":"^1.8.0",
"grunt":"^1.0.1",
},
"scripts": {
"start": "node ./www.js",
"build": "grunt dist",
"postinstall": "./node_modules/bower/bin/bower install && npm run build"
}
}
Obvious you're probably done and better nowadays...I'm just referencing it for next consultings.
Make sure you have these 2 things in place:
"scripts": {
"heroku-postbuild": "npm install --prefix client && npm run build --prefix client"
},
if (process.env.NODE_ENV === "production"{
app.use(express.static("build"));
app.get("*", (req, res) => {
res.sendFile(path.resolve(__dirname, "build", "index.html"));
});
}
Express will serve up production assets like our main.js file, or main.css file!
Finally- Express looks if the request is for an asset Express will serve up the index.html file if it doesn't recognize the route