【发布时间】:2011-08-29 20:11:48
【问题描述】:
是否可以在新的 app/assets/application.js 文件中注释掉这一行?如果有,怎么做?
//=require jquery_ujs
我的意思是,它已经被注释掉以避免被误解为 CoffeeScript 或 JavaScript,但它显然仍然是有目的的。
【问题讨论】:
标签: ruby-on-rails-3.1 sprockets
是否可以在新的 app/assets/application.js 文件中注释掉这一行?如果有,怎么做?
//=require jquery_ujs
我的意思是,它已经被注释掉以避免被误解为 CoffeeScript 或 JavaScript,但它显然仍然是有目的的。
【问题讨论】:
标签: ruby-on-rails-3.1 sprockets
你可以这样做:
///* My Application Scripts
//= 'require jquery'
//= 'require jquery_ujs'
//= require_tree .
//= require_self
*///
将不会加载带有 ('') 的要求行。
【讨论】:
取自Sprockets 1.02 github(Sprockets 2 是 rails 3.1 用来完成资产加载的工具):
Sprockets 如何处理 cmets
在中使用单行 (//) cmets cmets 的 JavaScript 源文件 不需要出现在 结果级联输出。使用 多行 (/* ... */) cmets 用于 应该出现在 结果级联输出,例如 版权声明或描述性 标题。 PDoc (/** ... **/) 文档 cmets 不会 包含在结果中 串联。
以 //= 开头的注释是 Sprockets 将其视为指令。 Sprockets 目前了解两个 指令、要求和提供。
这意味着//= jquery_ujs 是一个指令。它指示 Sprockets 在编译所有 jquery 文件时包含 jquery_uls 文件。
如果您不想包含该文件,只需删除等号,指令就会变成注释。
【讨论】:
短而快...
//require jquery_ujs
...只需删除 = 符号。
【讨论】:
我讨厌这一点,它实际上是在单行注释中寻找=,而不是//= 的组合。
要禁用,请将// 放在//= 之后:
//= // require jquery_ujs
或取消等号
// require jquery_ujs
= 之前的任何内容都不起作用:
//!= require jquery_ujs
【讨论】: