DEV Community

Discussion on: How to Quickly Deploy a VueJS App to Heroku

Collapse
 
hjfitz profile image
Harry • Edited

Why would you use

"heroku-postbuild": "npm install --only=dev --no-shrinkwrap && npm run build",

Over

"postinstall": 'npm run build"

Just curious as this is what I use when deploying React apps to Heroku.

Collapse
 
jmbejar profile image
Jorge Bejar

Hey,

When deploying a React app to Heroku the command npm run build is likely to work fine because libraries needed for the build process are listed in dependencies, not in devDependencies in package.json. Since a Vue project has these libraries in devDependencies, we need to install them before run npm run build... and for this reason the command line is more complicated.

Regarding postinstall, it is also expected to work as it is explained in the post. I just prefered the Heroku-specific key named heroku-postbuild to highlight that this is a setup for this specific hosting option.

Collapse
 
hjfitz profile image
Harry

Ah cool! I remember my first time using heroku and wondering why it wouldn't build... Had some deps in Dev deps!

Why does Vue save them to devDependencies?

Thread Thread
 
jmbejar profile image
Jorge Bejar

I consider that Vue is doing the right thing. Libraries that are only used to build the site should be placed in devDependencies instead of dependencies.

I understand that dependencies should be used to list packages that should be bundled into the production build, but the tools that you use to make the build.