-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Description
This is a 🐛 bug report.
When using parcel to build for production it breaks my vue.js application. This only happens when building for production, using parcel in development works with no issue.
🎛 Configuration (.babelrc, package.json, cli command)
package.json
:
{
"dependencies": {
"vue": "^2.5.16",
"vue-hot-reload-api": "^2.3.0"
},
"devDependencies": {
"@vue/component-compiler-utils": "^1.1.0",
"parcel-bundler": "^1.8.1",
"vue-template-compiler": "^2.5.16"
}
}
.babelrc
{
"presets": [
"env"
]
}
🤔 Expected Behavior
When building https://github.com/photogabble/vuejs-incremental-game-tutorial using the command parcel build index.html --public-url=./ --out-file=index.html
and uploading to http://builds.photogabble.co.uk/parcel-js-vue-bug-report/ the app should work as expected (when it does work locally in dev mode.)
Below shows a screenshot of the expected behavior:
😯 Current Behavior
The app doesn't work as expected. Instead certain buttons are broken as shown in below screen shot (or if you visit that page):
In vue the component is loaded via <Resource name="Ore Reserves" units="tons" v-on:doBuy="buyOre" v-on:doSell="sellOre" v-bind:amount="ore" v-bind:buyPrice="oreBuy" v-bind:sellPrice="oreSell" v-bind:credits="credits" transactional></Resource>
and the buy/sell prices are passed through from App.vue
as not being the zero being displayed.
Given that this only happens when parcel bundles for production I feel that this is a bug with parcel and not with my code.
💁 Possible Solution
The only solution I have found is to run parcel index.html --public-url=./ --out-file=index.html
and then upload the development files from the dist
folder. This can be seen working at http://builds.photogabble.co.uk/vuejs-incremental-game-tutorial-p1/.
This tells me that there is something wonky going on with the build process for production.
🔦 Context
I was just trying to get a demo of my project online to share and it wasn't working, which is odd to me because it does work when built for development.
💻 Code Sample
- Repo https://github.com/photogabble/vuejs-incremental-game-tutorial
- Broken production http://builds.photogabble.co.uk/parcel-js-vue-bug-report/
- Working production http://builds.photogabble.co.uk/vuejs-incremental-game-tutorial-p1/
🌍 Your Environment
Software | Version(s) |
---|---|
Parcel | 1.8.1 |
Node | 8.9.4 |
npm/Yarn | 5.6.0/1.6.0 |
Operating System | Windows 10 |