我有一个清单文件partials.js
,其中包含:
//= require_tree ./partials
然后每个咖啡文件都./partials/
包含以下内容:
$ ->
# Rest of the code
是否有可能在清单中有这样的东西:
$(function () {
//= require_tree ./partials
});
并删除$ ->
单个文件中的包装?
(目前这实际上不起作用。代码被推到底部,上面有所需的js。)
我有一个清单文件partials.js
,其中包含:
//= require_tree ./partials
然后每个咖啡文件都./partials/
包含以下内容:
$ ->
# Rest of the code
是否有可能在清单中有这样的东西:
$(function () {
//= require_tree ./partials
});
并删除$ ->
单个文件中的包装?
(目前这实际上不起作用。代码被推到底部,上面有所需的js。)
我最近遇到了同样的问题,我最终做的是:
以您的清单示例:
$(function () {
//= require_tree ./partials
});
我们可以将其转换为如下所示的清单:
//= require ./head
//= require_tree ./partials
//= require ./tail
然后我们制作head.js
:
$(function (){ //need line to end with semicolon to trick preprocessor;
然后我们制作tail.js
:
});
诀窍是用带注释的分号结束 head.js 部分。否则,预处理器将尝试注入一个分号来破坏脚本,从而制作出这样的东西
$(function () {
;
//rest of your code here
});
另一种方法是创建一个 load_my_asset.js.erb 文件:
function loadMyAsset() {
<%= Rails.application.assets.find_asset('path/to/asset').source %>
};
并在 application.js
//= require load_my_asset
在开发和生产中都有效