[英]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.