【问题标题】:Installing bower and rails安装凉亭和导轨
【发布时间】:2014-08-14 13:01:13
【问题描述】:

我正在尝试在 Rails 4 应用程序中设置 Bower,特别是我正在尝试安装 voice-elements Web 组件:http://zenorocha.github.io/voice-elements/

我考虑过使用凉亭导轨,但希望尽可能保持原样,但我有点迷茫。到目前为止,我已遵循以下步骤:

在 Rails 根目录中创建 .bowerrc

{
  "directory": "vendor/assets/bower_components"
}

添加到 application.rb

config.assets.paths << Rails.root.join('vendor', 'assets', 'bower_components')

从 Rails 根目录

bower init

来自供应商/资产

bower install --save voice-elements

rails 显示视图中的示例代码

<voice-player id="mi-elemento" accent="es-ES" text="Me gusta la gasolina"></voice-player>
<script>
var form = document.querySelector('#mi-form'),
    element = document.querySelector('#mi-elemento');

form.addEventListener('submit', function(e) {
    e.preventDefault();
    element.speak();
});
</script>

我不知道从这里去哪里。如何告诉 Rails 如何使用 vendor/assets 中的语音元素库?

【问题讨论】:

    标签: ruby-on-rails bower


    【解决方案1】:

    作为替代方案:您会考虑使用rails-assets.org 吗?无需安装 bower,您只需将 bower 包安装为常规 gem。

    在您的情况下,您可以在 Gemfile 的顶部添加以下行:

    source 'https://rubygems.org'
    source 'https://rails-assets.org'
    

    然后为你的包添加一行,gems 是调用rails-assets-&lt;package-name&gt;,所以在你的情况下是

    gem 'rails-assets-voice-elements'
    

    【讨论】:

    【解决方案2】:

    有相当不错的gem 可以用来将Bower 与Rails 集成:bower-rails。试试这个方法。

    【讨论】:

    • 嗨,我如何使用这种方法安装语音元素包?
    • 如文档所述:运行初始化程序以在 Rails 根目录中生成示例 Bowerfile 和 config/initializers/bower_rails.rb 配置文件:rails g bower_rails:initialize,然后将 voice-elements 添加为资产。
    • 您能否概述一下如何使用 bower-rails 正确添加语音元素的步骤?
    【解决方案3】:

    您是否按照语音元素的“使用”说明进行操作?看起来您需要包含一些 Bower 创建的 javascript(您应该能够在 application.js 中要求它),然后在指向两个 HTML 文件的布局中添加一些 &lt;link&gt; 标记。

    尝试将此添加到application.js:

    //= require platform/platform
    

    然后将这些行添加到布局中的&lt;head&gt; 部分:

    <link rel="import" href="<%= asset_path 'voice-elements/dist/voice-player.html' %>">
    <link rel="import" href="<%= asset_path 'voice-elements/dist/voice-recognition.html' %>">
    

    【讨论】:

    • 感谢您的提示。我已经安装了语音元素代码。我遇到的问题是让 Rails 可以访问它。
    • 它是一个客户端库,所以我认为您不需要将它提供给 Rails 本身。你只需要它在客户可以得到它的地方。看起来您已将其添加到资产路径中,因此您现在只需引用它(就像任何其他资产一样)。
    • 这是我的问题......不知道如何做这部分。似乎有多个组件,我不确定要将哪个目录添加到资产管道。看截图。
    • 我在答案中添加了几个步骤,您可以尝试。如果这不起作用,您可能应该只安装 bower-rails :)。
    • 谢谢詹姆斯,我尝试了上述步骤。尽管添加到 application.rb 的路径如我原来的问题中所述,但由于某种原因,require 失败了。很高兴考虑使用 bower-rails 解决方案 - 我将如何以这种方式安装特定的软件包?
    猜你喜欢
    • 2013-05-23
    • 2017-03-14
    • 2013-07-03
    • 2014-02-09
    • 2016-06-13
    • 2017-03-18
    • 2015-03-30
    • 2014-08-08
    • 2023-03-07
    相关资源
    最近更新 更多