I've created a new rails 5.2 application and installed vue with:
bundle exec rails webpacker:install:vue
After creating a simple endpoint Home#landing and adding <%= javascript_pack_tag 'hello_vue' %>
to the default layout the sample app is working as expected.
I made a few changes:
1) Modified hello_vue.js to,
import Vue from 'vue'
document.addEventListener('DOMContentLoaded', () => {
const app = new Vue({
el: '#vueapp',
data: {
message: "Hello Vue!"
}
})
})
2) Created and empty <div id="vueapp"> {{ message }} </div>
at the only view I have.
3) Removed app.vue from app/javascripts.
As far as I know, that should work too (and is how we were working with the vue-rails gem that runs with sprockets). Now is failing with:
[Vue warn]: You are using the runtime-only build of Vue where the template compiler is not available. Either pre-compile the templates into render functions, or use the compiler-included build.
I cannot exactly understand what is happening or why is failing because there aren't any components or template to compile at my app.