x6i*_*iae 27 javascript ruby-on-rails sprockets
所以,我才刚刚意识到我完全不知道什么链轮在轨道上.
当使用bootstrap或实现时,请求在文件中包含sprocket(bootstrap-sprocket或materialize-sprocket)application.js.
我搜索的所有内容都谈到了资产管道,让我更加困惑.
根据红宝石指南,
资产管道在技术上不再是Rails 4的核心功能,它已经从框架中提取到sprockets-rails gem中.
当我这样做时bundle show sprockets-rails,我得到了:
/Users/Sunday/workspace/resilience/vendor/bundle/ruby/2.1.0/gems/sprockets-rails-2.3.1
Run Code Online (Sandbox Code Playgroud)
这表明我至少有宝石.
但是我的困惑和我的问题是,重要的是什么sprockets,而不是sprockets-rails像其他宝石一样bootstrap,materialize而且可能还有其他宝石sprockets,尤其是在他们的javascript文件中?
谢谢.
Soo*_*ndu 30
Sprockets是一个用于编译和提供Web资产的Ruby库.Sprockets允许将应用程序的JavaScript文件组织成更小,更易于管理的块,这些块可以分布在多个目录和文件中.它提供了有关如何在我们的项目中包含资产的结构和实践.
在每个JavaScript文件的开头使用指令,Sprockets可以确定JavaScript文件所依赖的文件.在部署应用程序时,Sprockets然后使用这些指令将您的多个JavaScript文件转换为单个文件以获得更好的性能.
/app/assets/javascripts/application.js
// This is a manifest file that'll be compiled into including all the files listed below.
// Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
// be included in the compiled file accessible from http://example.com/assets/application.js
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
// the compiled file.
//
//= require jquery
//= require jquery_ujs
//= require_tree .
Run Code Online (Sandbox Code Playgroud)
application.js文件被称为清单,它由内部管理Sprockets.当请求进入此文件时,Sprockets查看清单并将其中提到的每个文件编译在一起,并在此文件中的任何代码之前包含其内容.
Sprockets将搜索loadpath此文件,在这种情况下,从jquery-rails引擎的vendor/asset/javascripts目录中加载它.
| 归档时间: |
|
| 查看次数: |
6827 次 |
| 最近记录: |