【问题标题】:how to include angularjs library file in rails app如何在rails应用程序中包含angularjs库文件
【发布时间】:2014-09-23 08:15:52
【问题描述】:
ActionController::RoutingError (No route matches [GET] "/assets/angular.min.js.map"):
actionpack (4.1.0) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
actionpack (4.1.0) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
railties (4.1.0) lib/rails/rack/logger.rb:38:in `call_app'
railties (4.1.0) lib/rails/rack/logger.rb:20:in `block in call'
activesupport (4.1.0) lib/active_support/tagged_logging.rb:68:in `block in tagged'
activesupport (4.1.0) lib/active_support/tagged_logging.rb:26:in `tagged'
activesupport (4.1.0) lib/active_support/tagged_logging.rb:68:in `tagged'
railties (4.1.0) lib/rails/rack/logger.rb:20:in `call'
actionpack (4.1.0) lib/action_dispatch/middleware/request_id.rb:21:in `call'
rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
rack (1.5.2) lib/rack/runtime.rb:17:in `call'
activesupport (4.1.0) lib/active_support/cache/strategy/local_cache_middleware.rb:26:in `call'
rack (1.5.2) lib/rack/lock.rb:17:in `call'
actionpack (4.1.0) lib/action_dispatch/middleware/static.rb:64:in `call'
rack (1.5.2) lib/rack/sendfile.rb:112:in `call'
railties (4.1.0) lib/rails/engine.rb:514:in `call'
railties (4.1.0) lib/rails/application.rb:144:in `call'
rack (1.5.2) lib/rack/lock.rb:17:in `call'
rack (1.5.2) lib/rack/content_length.rb:14:in `call'
rack (1.5.2) lib/rack/handler/webrick.rb:60:in `service'
/home/test-user/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/webrick/httpserver.rb:138:in `service'
/home/test-user/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/webrick/httpserver.rb:94:in `run'
/home/test-user/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/webrick/server.rb:295:in `block in start_thread'


Rendered /home/test-user/.rvm/gems/ruby-2.1.2/gems/actionpack-4.1.0/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (1.1ms)
Rendered /home/test-user/.rvm/gems/ruby-2.1.2/gems/actionpack-4.1.0/lib/action_dispatch/middleware/templates/routes/_route.html.erb (1.2ms)
Rendered /home/test-user/.rvm/gems/ruby-2.1.2/gems/actionpack-4.1.0/lib/action_dispatch/middleware/templates/routes/_table.html.erb (1.3ms)
Rendered /home/test-user/.rvm/gems/ruby-2.1.2/gems/actionpack-4.1.0/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout (17.8ms)

application.js 文件

//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require angular.min
//= require_tree .

【问题讨论】:

  • 我知道/assets/angular.min.js.map不等于/assets/angular.min.js,那么你的项目中有/assets/angular.min.js.map这个文件吗?
  • 我没有 /assets/angular.min.js.map,但我包含了 /assets/javascripts/angular.min.js
  • 这就是错误发生的原因。文件/assets/angular.min.js 中的代码在内部访问文件/assets/angular.min.js.map。在大多数情况下,您应该可以忽略它。但是,如果此错误没有让您的 rails 应用程序运行,那么您必须在项目中包含该文件。它以压缩文件的形式提供,可从 angularjs.org 下载。

标签: javascript ruby-on-rails angularjs ruby-on-rails-4


【解决方案1】:

如果你想在 rails 中包含 Angular.js Library 那么最好使用 gem。

gem 'angularjs-rails'

angularjs-rails 封装了 Angular.js 库,以便在 Rails 3.1 和 以上 中使用。资产将在生产过程中自动缩小。

在你的 application.js 中添加这个

//= require angular

如果您需要(可选)Angular 文件,您也可以将它们包含在您的 JavaScript 清单文件 (application.js) 中。例如:

//= require angular-animate
//= require angular-resource

供您参考https://github.com/hiravgandhi/angularjs-rails

【讨论】:

    【解决方案2】:

    终于找到了解决办法https://shellycloud.com/blog/2013/10/how-to-integrate-angularjs-with-rails-4

    当然,gem 'angularjs-rails' 是另一种可能性

    【讨论】:

    • 在您分享的链接上收到 404。
    猜你喜欢
    • 1970-01-01
    • 2017-07-10
    • 2014-04-13
    • 1970-01-01
    • 2012-01-16
    • 1970-01-01
    • 2017-11-07
    • 2016-06-14
    • 1970-01-01
    相关资源
    最近更新 更多