簡體   English   中英

Bower沒有在Angular on Rails應用程序中找到包

[英]Bower not finding a package in Angular on Rails app

我正在關注關於Angular on Rails的Thinkster教程( https://thinkster.io/angular-rails#jumping-in-with-angular )。 在本教程中,我按照以下方式安裝前端依賴項:

bower install angular angular-ui-router bootstrap --save

然后我按照以下方式在application.css中要求bootstrap:

 *= require bootstrap/dist/css/bootstrap
 *= require_tree .
 *= require_self

這是application.js文件:

//= require angular
//= require angular-rails-templates
//= require angular-ui-router
//= require_tree .

當我運行rails服務器時,我得到以下錯誤,

1. couldn't find file 'bootstrap/dist/css/bootstrap' with type 'text/css'
2. couldn't find file 'angular' with type 'application/javascript'

這是.bowerrc文件:

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

這是我從rails服務器控制台獲得的錯誤:

ActionView::Template::Error (couldn't find file 'bootstrap/dist/css/bootstrap' with type 'text/css'):
    2: <html>
    3: <head>
    4:   <title>FlapperNews</title>
    5:  <%= stylesheet_link_tag    'application', media: 'all' %>
    6:   <%= javascript_include_tag 'application' %>
    7:   <%= csrf_meta_tags %>
    8: </head>
  app/assets/stylesheets/application.css:14
  app/views/layouts/application.html.erb:5:in `_app_views_layouts_application_html_erb___1398966333390810206_70171728569860'

我確認在Rails應用程序中正確安裝了bootstrap和angular。 在此輸入圖像描述

但似乎它沒有在應用程序中找到它。 可能是什么問題呢?

也許您想使用bower-rails( https://github.com/rharriso/bower-rails ),它可以幫助您管理Rails應用程序中的前端依賴項。 然后,您可以將依賴項添加到Bowerfile和rake bower:install ,它會將您的依賴項安裝到/ vendor / assets / bower_components,所以現在您可以在application.css或application.js文件中要求它們。

我認為在Rails應用程序的根路徑中有一個bower_components文件夾是不可取的,因為它的內容對於Asset Pipeline是不可見的(更多信息。這里: http//guides.rubyonrails.org/ asset_pipeline.html

在app.config中使用config.assets.paths << Rails.root.join('vendor', 'assets', 'components')

確保.bowerrc也設置好了

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

也涉及這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM