如何在我的资产管道中剔除 jquery?

Joe*_*erg 5 ruby-on-rails sprockets asset-pipeline

我正在使用 Rails 3.2 和 jquery-ui-rails 插件将日期选择器添加到我的 JS 清单文件中。

这是我的清单文件:

//= require jquery_ujs
//= require jquery.ui.datepicker
//= require_tree .
Run Code Online (Sandbox Code Playgroud)

我将我的 jQuery 库与 Google 的 CDN 分开。

但是,通过将 jquery.ui 添加到清单文件中,它会自动包含其 jQuery 依赖项 - 所以现在我在最终的 HTML 文档中得到了两个 jQueries。

我不想要这个额外的 jQuery 文件——我只想要来自 Google 的 CDN 的那个。使用链轮,我可以使用 stub 指令有选择地“排除”jQuery 文件。

所以这就是我所做的 - 它不起作用 - 即 jQuery 仍然添加到我的最终 JS 文件中......

//= stub jquery
//= require jquery_ujs
//= require jquery.ui.datepicker
//= require_tree .
Run Code Online (Sandbox Code Playgroud)

我尝试了几种组合:

//= stub jquery.js

//= stub "jquery"

//= stub "jquery.js"

//= stub "/jquery.js"
Run Code Online (Sandbox Code Playgroud)

等等 ...

但这些都不起作用。我一直无法在任何地方找到它应该如何工作的例子。顺便说一句,我也试过

//= stub jquery_ujs
Run Code Online (Sandbox Code Playgroud)

这也没有排除 jquery_ujs 库......

Kit*_*tto 3

我认为它不起作用的原因是Rails 3.2.x仅使用sprockets v2.1。然而,短截线仅适用于 >= 2.2 的链轮。您可以尝试手动更新链轮(分叉动作包)。