/vuejs-rails

A simple asset-pipeline wrapper for Vue.js by Evan You

Primary LanguageRubyMIT LicenseMIT

vuejs-rails

Gem Gem

About

Rails 3.1+ asset-pipeline gem to provide Vue.js

Package Versions

  • vue v2.5.13
  • vue-router v3.0.1
  • vue-resource v1.3.5
  • vuex v3.0.1

Compatibility

Setup

Have in your Gemfile:

gem 'vuejs-rails'

And in your application.js manifest:

//= require vue
//= require vue-router (optional)
//= require vue-resource (optional)
//= require vuex (optional)

If your application.js requires TurboLinks (a default setting for new Rails apps), you should strongly consider disabling it, as it will cause pages to load without reloading the Javascript.

In app/views/layouts/application.html.erb, move this line from the head of the document to the end of the body:

<%= javascript_include_tag 'application' %>

You may write your Vue.js code directly in your views using <script> tags, or in a separate Javascript file (recommended).

Full and minified assets versions

Starting from version '>= 2.3.2', by default, gem uses minified versions in production and full versions otherwise.

You can override this behavior by setting Vue.development_mode flag:

Vue.development_mode = true

You can do it in e.g. config/initializers/vue_config.rb, your environment initializers.

Make sure to clean your assets cache (rake tmp:cache:clear) after changing state of the flag.

Contributing

Contributions are welcome, please follow GitHub Flow

License

MIT