首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在javascript闭包中包装一些资产需求

在javascript闭包中包装一些资产需求
EN

Stack Overflow用户
提问于 2012-04-24 14:14:30
回答 2查看 570关注 0票数 2

我有一个清单文件partials.js,其中包含以下内容:

代码语言:javascript
复制
//= require_tree ./partials

然后,./partials/中的每个咖啡文件都包含以下内容:

代码语言:javascript
复制
$ ->
  # Rest of the code

有没有可能在清单中有这样的东西:

代码语言:javascript
复制
$(function () {
//= require_tree ./partials
});

并删除单个文件中的$ ->包装?

(这在目前实际上并不起作用。代码被推送到底部,上面有所需的js。)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-27 04:07:08

我最近遇到了同样的问题,我最终做的是:

以您的清单示例为例:

代码语言:javascript
复制
$(function () {
  //= require_tree ./partials
});

我们可以将其转换为如下所示的清单:

代码语言:javascript
复制
//= require ./head
//= require_tree ./partials
//= require ./tail

然后我们制作head.js

代码语言:javascript
复制
$(function (){ //need line to end with semicolon to trick preprocessor;

然后我们制作tail.js

代码语言:javascript
复制
});

诀窍是以注释分号结束head.js部分。否则,预处理器将尝试注入一个分号,破坏脚本,生成如下内容

代码语言:javascript
复制
$(function () {
;
  //rest of your code here
});
票数 4
EN

Stack Overflow用户

发布于 2015-04-03 14:04:08

另一种方法是创建一个load_my_asset.js.erb文件:

代码语言:javascript
复制
function loadMyAsset() {
    <%= Rails.application.assets.find_asset('path/to/asset').source %>
};

在application.js中

代码语言:javascript
复制
//= require load_my_asset

,它在开发和生产中都有效。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10292631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档