Giter Club home page Giter Club logo

rails-vue-loader's Introduction

rails-vue-loader

Gem Gem

rails-vue-loader(formerly sprockets-vue) -- a Sprockets transformer that converts .vue file into js object.

feature

following tag is supported in .vue file

  • script (coffeescript and js)
  • template (currently html only)
  • style (scss, sass and css)

install

add gem 'rails-vue-loader' to Gemfile, and run bundle, currently works with sprockets 3.

example

  • app/assets/javascripts/application.coffee
#= require index

new Vue(
  el: '#search',
  components: {
    'index': VComponents.index
  }
)
  • app/assets/javascripts/index.vue (stored into VComponents.index when required)
//= require components/card
<script lang="coffee">
module.exports = {
  data: ->
    search: ''
    members: []
  components:
    card: VComponents['components/card']
  methods:
    clear: ->
      this.search = ''
}
</script>

<template>
  <div class="container">
    <div class='search icon-input'>
      <span class="search-icon glyphicon glyphicon-search"></span>
      <input class="form-control" type="text" v-model='search'>
      <span @click='clear' class="clear-icon glyphicon glyphicon-remove"></span>
    </div>
    <card v-for="m in members" :m='m'></card>
  </div>
</template>

<style lang="scss">
.search{
  .icon-input{
    width: 100%;
  }
}
</style>
  • application.scss
//=require index

you can include .vue file in css file, it's style block will be automatic processed. you can also use require_tree to include all .vue file.😘 scoped will not be supported.

advanced

rails-vue-loader's People

Contributors

dts avatar kikyous avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

rails-vue-loader's Issues

SCSS @import?

Is there any way to get this working with @import if you're using SCSS? Using //= require I can't use any of my SCSS variables inside the Vue components.

Using ERB?

Is it possible to use erb inside the vue file? For example for loading image assets.

[Question] Usage of 'vm' variable unclear - vueify compatiblilty

Hi there!

First: reeeeally nice gem! I saw your commit adding the usage of a "vm" variable here: cc4ad7f

You wrote that this is done because of bugs. What were the bugs? I ask because I would like to avoid this variable and use the export default variant like described in the vueify README:

Vanilla JS:
https://github.com/vuejs/vueify/blame/master/README.md#L22

Coffee:
https://github.com/vuejs/vueify/blame/master/README.md#L46

This will provide a switch from or to vueify which would be much appreciated.

//EDIT:
In some of the forks something similar is done: msnider@0613a63

uninitialized constant Babel

When I try to browse to the application I get the following error:

uninitialized constant Babel

Stacktrace:

sprockets-vue (0.0.6) lib/sprockets/vue/script.rb:15:in 'block in singleton class' sprockets-vue (0.0.6) lib/sprockets/vue/script.rb:27:in 'block in call' sprockets (3.7.0) lib/sprockets/cache.rb:85:in 'fetch' sprockets-vue (0.0.6) lib/sprockets/vue/script.rb:21:in 'call' sprockets (3.7.0) lib/sprockets/processor_utils.rb:75:in 'call_processor' sprockets (3.7.0) lib/sprockets/processor_utils.rb:57:in 'block in call_processors' sprockets (3.7.0) lib/sprockets/processor_utils.rb:56:in 'reverse_each' sprockets (3.7.0) lib/sprockets/processor_utils.rb:56:in 'call_processors' sprockets (3.7.0) lib/sprockets/processor_utils.rb:75:in 'call_processor' sprockets (3.7.0) lib/sprockets/processor_utils.rb:57:in 'block in call_processors' sprockets (3.7.0) lib/sprockets/processor_utils.rb:56:in 'reverse_each' sprockets (3.7.0) lib/sprockets/processor_utils.rb:56:in 'call_processors' sprockets (3.7.0) lib/sprockets/loader.rb:134:in 'load_from_unloaded' sprockets (3.7.0) lib/sprockets/loader.rb:60:in 'block in load' sprockets (3.7.0) lib/sprockets/loader.rb:317:in 'fetch_asset_from_dependency_cache' sprockets (3.7.0) lib/sprockets/loader.rb:44:in 'load' sprockets (3.7.0) lib/sprockets/cached_environment.rb:20:in 'block in initialize' sprockets (3.7.0) lib/sprockets/cached_environment.rb:47:in 'load' sprockets (3.7.0) lib/sprockets/bundle.rb:23:in 'block in call' sprockets (3.7.0) lib/sprockets/utils.rb:196:in 'dfs' sprockets (3.7.0) lib/sprockets/bundle.rb:24:in 'call' sprockets (3.7.0) lib/sprockets/processor_utils.rb:75:in 'call_processor' sprockets (3.7.0) lib/sprockets/processor_utils.rb:57:in 'block in call_processors' sprockets (3.7.0) lib/sprockets/processor_utils.rb:56:in 'reverse_each' sprockets (3.7.0) lib/sprockets/processor_utils.rb:56:in 'call_processors' sprockets (3.7.0) lib/sprockets/loader.rb:134:in 'load_from_unloaded' sprockets (3.7.0) lib/sprockets/loader.rb:60:in 'block in load' sprockets (3.7.0) lib/sprockets/loader.rb:317:in 'fetch_asset_from_dependency_cache' sprockets (3.7.0) lib/sprockets/loader.rb:44:in 'load' sprockets (3.7.0) lib/sprockets/cached_environment.rb:20:in 'block in initialize' sprockets (3.7.0) lib/sprockets/cached_environment.rb:47:in 'load' sprockets (3.7.0) lib/sprockets/base.rb:66:in 'find_asset' sprockets (3.7.0) lib/sprockets/base.rb:73:in 'find_all_linked_assets' sprockets (3.7.0) lib/sprockets/manifest.rb:142:in 'block in find' sprockets (3.7.0) lib/sprockets/legacy.rb:114:in 'block (2 levels) in logical_paths' sprockets (3.7.0) lib/sprockets/path_utils.rb:228:in 'block in stat_tree' sprockets (3.7.0) lib/sprockets/path_utils.rb:212:in 'block in stat_directory' sprockets (3.7.0) lib/sprockets/path_utils.rb:209:in 'each' sprockets (3.7.0) lib/sprockets/path_utils.rb:209:in 'stat_directory' sprockets (3.7.0) lib/sprockets/path_utils.rb:227:in 'stat_tree' sprockets (3.7.0) lib/sprockets/legacy.rb:105:in 'each' sprockets (3.7.0) lib/sprockets/legacy.rb:105:in 'block in logical_paths' sprockets (3.7.0) lib/sprockets/legacy.rb:104:in 'each' sprockets (3.7.0) lib/sprockets/legacy.rb:104:in 'logical_paths' sprockets (3.7.0) lib/sprockets/manifest.rb:140:in 'find' sprockets-rails (3.2.0) lib/sprockets/railtie.rb:50:in 'each' sprockets-rails (3.2.0) lib/sprockets/railtie.rb:50:in 'map' sprockets-rails (3.2.0) lib/sprockets/railtie.rb:50:in 'precompiled_assets' sprockets-rails (3.2.0) lib/sprockets/railtie.rb:35:in 'asset_precompiled?' sprockets-rails (3.2.0) lib/sprockets/railtie.rb:251:in 'block (3 levels) in <class:Railtie>' sprockets-rails (3.2.0) lib/sprockets/rails/helper.rb:359:in 'precompiled?' sprockets-rails (3.2.0) lib/sprockets/rails/helper.rb:363:in 'raise_unless_precompiled_asset' sprockets-rails (3.2.0) lib/sprockets/rails/helper.rb:348:in 'find_debug_asset' sprockets-rails (3.2.0) lib/sprockets/rails/helper.rb:229:in 'block in lookup_debug_asset' sprockets-rails (3.2.0) lib/sprockets/rails/helper.rb:242:in 'block in resolve_asset' sprockets-rails (3.2.0) lib/sprockets/rails/helper.rb:241:in 'each' sprockets-rails (3.2.0) lib/sprockets/rails/helper.rb:241:in 'detect' sprockets-rails (3.2.0) lib/sprockets/rails/helper.rb:241:in 'resolve_asset' sprockets-rails (3.2.0) lib/sprockets/rails/helper.rb:228:in 'lookup_debug_asset' sprockets-rails (3.2.0) lib/sprockets/rails/helper.rb:170:in 'block in stylesheet_link_tag' sprockets-rails (3.2.0) lib/sprockets/rails/helper.rb:169:in 'map' sprockets-rails (3.2.0) lib/sprockets/rails/helper.rb:169:in 'stylesheet_link_tag' app/views/layouts/application.html.erb:7:in '_app_views_layouts_application_html_erb__3926669798929650012_70339015382500' actionview (5.0.1.rc2) lib/action_view/template.rb:159:in 'block in render' activesupport (5.0.1.rc2) lib/active_support/notifications.rb:166:in 'instrument' actionview (5.0.1.rc2) lib/action_view/template.rb:354:in 'instrument' actionview (5.0.1.rc2) lib/action_view/template.rb:157:in 'render' actionview (5.0.1.rc2) lib/action_view/renderer/template_renderer.rb:66:in 'render_with_layout' actionview (5.0.1.rc2) lib/action_view/renderer/template_renderer.rb:52:in 'render_template' actionview (5.0.1.rc2) lib/action_view/renderer/template_renderer.rb:14:in 'render' actionview (5.0.1.rc2) lib/action_view/renderer/renderer.rb:42:in 'render_template' actionview (5.0.1.rc2) lib/action_view/renderer/renderer.rb:23:in 'render' actionview (5.0.1.rc2) lib/action_view/rendering.rb:103:in '_render_template' actionpack (5.0.1.rc2) lib/action_controller/metal/streaming.rb:217:in '_render_template' actionview (5.0.1.rc2) lib/action_view/rendering.rb:83:in 'render_to_body' actionpack (5.0.1.rc2) lib/action_controller/metal/rendering.rb:52:in 'render_to_body' actionpack (5.0.1.rc2) lib/action_controller/metal/renderers.rb:142:in 'render_to_body' actionpack (5.0.1.rc2) lib/abstract_controller/rendering.rb:26:in 'render' actionpack (5.0.1.rc2) lib/action_controller/metal/rendering.rb:36:in 'render' actionpack (5.0.1.rc2) lib/action_controller/metal/instrumentation.rb:44:in 'block (2 levels) in render' activesupport (5.0.1.rc2) lib/active_support/core_ext/benchmark.rb:12:in 'block in ms' /usr/local/Cellar/ruby/2.3.3/lib/ruby/2.3.0/benchmark.rb:308:in 'realtime' activesupport (5.0.1.rc2) lib/active_support/core_ext/benchmark.rb:12:in 'ms' actionpack (5.0.1.rc2) lib/action_controller/metal/instrumentation.rb:44:in 'block in render' actionpack (5.0.1.rc2) lib/action_controller/metal/instrumentation.rb:87:in 'cleanup_view_runtime' activerecord (5.0.1.rc2) lib/active_record/railties/controller_runtime.rb:25:in 'cleanup_view_runtime' actionpack (5.0.1.rc2) lib/action_controller/metal/instrumentation.rb:43:in 'render' actionpack (5.0.1.rc2) lib/action_controller/metal/implicit_render.rb:36:in 'default_render' actionpack (5.0.1.rc2) lib/action_controller/metal/basic_implicit_render.rb:4:in 'send_action' actionpack (5.0.1.rc2) lib/abstract_controller/base.rb:188:in 'process_action' actionpack (5.0.1.rc2) lib/action_controller/metal/rendering.rb:30:in 'process_action' actionpack (5.0.1.rc2) lib/abstract_controller/callbacks.rb:20:in 'block in process_action' activesupport (5.0.1.rc2) lib/active_support/callbacks.rb:126:in 'call' activesupport (5.0.1.rc2) lib/active_support/callbacks.rb:506:in 'block (2 levels) in compile' activesupport (5.0.1.rc2) lib/active_support/callbacks.rb:455:in 'call' activesupport (5.0.1.rc2) lib/active_support/callbacks.rb:101:in '__run_callbacks__' activesupport (5.0.1.rc2) lib/active_support/callbacks.rb:750:in '_run_process_action_callbacks' activesupport (5.0.1.rc2) lib/active_support/callbacks.rb:90:in 'run_callbacks' actionpack (5.0.1.rc2) lib/abstract_controller/callbacks.rb:19:in 'process_action' actionpack (5.0.1.rc2) lib/action_controller/metal/rescue.rb:20:in 'process_action' actionpack (5.0.1.rc2) lib/action_controller/metal/instrumentation.rb:32:in 'block in process_action' activesupport (5.0.1.rc2) lib/active_support/notifications.rb:164:in 'block in instrument' activesupport (5.0.1.rc2) lib/active_support/notifications/instrumenter.rb:21:in 'instrument' activesupport (5.0.1.rc2) lib/active_support/notifications.rb:164:in 'instrument' actionpack (5.0.1.rc2) lib/action_controller/metal/instrumentation.rb:30:in 'process_action' actionpack (5.0.1.rc2) lib/action_controller/metal/params_wrapper.rb:248:in 'process_action' activerecord (5.0.1.rc2) lib/active_record/railties/controller_runtime.rb:18:in 'process_action' actionpack (5.0.1.rc2) lib/abstract_controller/base.rb:126:in 'process' actionview (5.0.1.rc2) lib/action_view/rendering.rb:30:in 'process' actionpack (5.0.1.rc2) lib/action_controller/metal.rb:190:in 'dispatch' actionpack (5.0.1.rc2) lib/action_controller/metal.rb:262:in 'dispatch' actionpack (5.0.1.rc2) lib/action_dispatch/routing/route_set.rb:50:in 'dispatch' actionpack (5.0.1.rc2) lib/action_dispatch/routing/route_set.rb:32:in 'serve' actionpack (5.0.1.rc2) lib/action_dispatch/journey/router.rb:39:in 'block in serve' actionpack (5.0.1.rc2) lib/action_dispatch/journey/router.rb:26:in 'each' actionpack (5.0.1.rc2) lib/action_dispatch/journey/router.rb:26:in 'serve' actionpack (5.0.1.rc2) lib/action_dispatch/routing/route_set.rb:725:in 'call' rack (2.0.1) lib/rack/etag.rb:25:in 'call' rack (2.0.1) lib/rack/conditional_get.rb:25:in 'call' rack (2.0.1) lib/rack/head.rb:12:in 'call' rack (2.0.1) lib/rack/session/abstract/id.rb:222:in 'context' rack (2.0.1) lib/rack/session/abstract/id.rb:216:in 'call' actionpack (5.0.1.rc2) lib/action_dispatch/middleware/cookies.rb:613:in 'call' activerecord (5.0.1.rc2) lib/active_record/migration.rb:553:in 'call' actionpack (5.0.1.rc2) lib/action_dispatch/middleware/callbacks.rb:38:in 'block in call' activesupport (5.0.1.rc2) lib/active_support/callbacks.rb:97:in '__run_callbacks__' activesupport (5.0.1.rc2) lib/active_support/callbacks.rb:750:in '_run_call_callbacks' activesupport (5.0.1.rc2) lib/active_support/callbacks.rb:90:in 'run_callbacks' actionpack (5.0.1.rc2) lib/action_dispatch/middleware/callbacks.rb:36:in 'call' actionpack (5.0.1.rc2) lib/action_dispatch/middleware/executor.rb:12:in 'call' actionpack (5.0.1.rc2) lib/action_dispatch/middleware/remote_ip.rb:79:in 'call' actionpack (5.0.1.rc2) lib/action_dispatch/middleware/debug_exceptions.rb:49:in 'call' web-console (3.4.0) lib/web_console/middleware.rb:135:in 'call_app' web-console (3.4.0) lib/web_console/middleware.rb:28:in 'block in call' web-console (3.4.0) lib/web_console/middleware.rb:18:in 'catch' web-console (3.4.0) lib/web_console/middleware.rb:18:in 'call' actionpack (5.0.1.rc2) lib/action_dispatch/middleware/show_exceptions.rb:31:in 'call' railties (5.0.1.rc2) lib/rails/rack/logger.rb:36:in 'call_app' railties (5.0.1.rc2) lib/rails/rack/logger.rb:24:in 'block in call' activesupport (5.0.1.rc2) lib/active_support/tagged_logging.rb:69:in 'block in tagged' activesupport (5.0.1.rc2) lib/active_support/tagged_logging.rb:26:in 'tagged' activesupport (5.0.1.rc2) lib/active_support/tagged_logging.rb:69:in 'tagged' railties (5.0.1.rc2) lib/rails/rack/logger.rb:24:in 'call' sprockets-rails (3.2.0) lib/sprockets/rails/quiet_assets.rb:13:in 'call' actionpack (5.0.1.rc2) lib/action_dispatch/middleware/request_id.rb:24:in 'call' rack (2.0.1) lib/rack/method_override.rb:22:in 'call' rack (2.0.1) lib/rack/runtime.rb:22:in 'call' activesupport (5.0.1.rc2) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in 'call' actionpack (5.0.1.rc2) lib/action_dispatch/middleware/executor.rb:12:in 'call' actionpack (5.0.1.rc2) lib/action_dispatch/middleware/static.rb:136:in 'call' rack (2.0.1) lib/rack/sendfile.rb:111:in 'call' railties (5.0.1.rc2) lib/rails/engine.rb:522:in 'call' puma (3.6.2) lib/puma/configuration.rb:225:in 'call' puma (3.6.2) lib/puma/server.rb:578:in 'handle_request' puma (3.6.2) lib/puma/server.rb:415:in 'process_client' puma (3.6.2) lib/puma/server.rb:275:in 'block in run' puma (3.6.2) lib/puma/thread_pool.rb:116:in 'block in spawn_thread'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.