javascript - 使用中间人的页面特定 JavaScript

标签 javascript ruby-on-rails asset-pipeline middleman

我正在一个项目中使用 Middleman,并且只想在某些页面上加载某些 JS 文件。如何将资源管道配置为仅加载特定的 JS 文件?我已经找到了 Rails 应用程序中 Assets 管道的答案(例如 http://blog.seancarpenter.net/2012/11/05/page-specific-javascript-with-the-asset-pipeline/ ),但我不确定如何应用这个中间人。

谢谢!

最佳答案

//= require_tree ./general
//= require_tree ./ckeditor
//= require_tree ./custom

在 application.js 文件中包含要为所有应用程序默认加载的 js 文件的路径。上面代码中的./general会包含app/assets/javascripts/general/下的所有js文件等等。

如果您希望在预定义的 View 页面中加载某些 js 文件,那么您需要从该 View 页面显式调用它,如下所示:

<% content_for :scripts do %>
  <%= javascript_include_tag 'your_custom_js_file_name' %>
<% end %>

your_custom_js_file_name.js 文件的文件位置是 app/assets/javascript

我们需要在布局文件中生成脚本,因此,请包含以下内容:

<%= yield :scripts %>

此外,您需要指定在生产环境中进行编译。所以在 Production.rb 中执行以下操作:

 config.assets.precompile += [ "your_custom_js_file_name.js", "your_custom_js_file_name2.js"]

信用转到:site

关于javascript - 使用中间人的页面特定 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29731917/

相关文章:

ruby-on-rails - 模块未定义的局部变量或方法

ruby-on-rails - sass-rails Assets 管道 : generating image paths incorrectly; `url(/images/blah.png)` instead of `url(/assets/blah.png)`

ruby-on-rails - "require_tree argument must be a directory"rails 3.1.1 预编译 Assets

javascript - 将 Jest 导入常规文件

javascript - 传递 javascript 日期对象时,Moment 返回无效日期

ruby-on-rails - 我的整个 Rails 应用程序只从一个文件中获取 css 为什么

ruby-on-rails - nginx 不在 ssl 中提供 rails Assets

javascript - Facebook JS SDK FB.Login() 如何获得扩展权限?

javascript - 优化Google应用程序脚本以实现自动增量列

ruby-on-rails - Rails - 如何在 application.rb 中使用来自 Controller 的方法?