18

是否可以在新的 app/assets/application.js 文件中注释掉这一行?如果是这样,怎么做?

//=require jquery_ujs

我的意思是,它已经被注释掉以避免被误解为 CoffeeScript 或 JavaScript,但它显然仍然是有目的的。

4

4 回答 4

32

取自Sprockets 1.02 github(Sprockets 2 是 rails 3.1 用来完成资产加载的工具):

Sprockets 如何处理评论

对不需要出现在结果级联输出中的注释使用 JavaScript 源文件中的单行 (//) 注释。对应该出现在结果中的注释使用多行 (/* ... */) 注释连接输出,如版权声明或描述性标题。PDoc (/** ... **/) 文档注释不会包含在生成的串联中。

以 //= 开头的注释被 Sprockets 视为指令。Sprockets 目前理解两个指令,require 和 provide。

这意味着这//= jquery_ujs是一个指令。它指示 Sprockets 在编译所有 jquery 文件时包含 jquery_uls 文件。

如果您不希望包含该文件,只需删除等号,该指令就会成为注释。

于 2011-05-22T19:25:36.867 回答
12

短而快...

//require jquery_ujs

...只需删除 = 符号。

于 2013-12-05T10:42:28.590 回答
5

我讨厌的是,它实际上是在寻找=单行注释而不是//=.

要禁用,请在//后面加上//=

//= // require jquery_ujs

或取消等号

// require jquery_ujs

之前的任何东西=都不起作用:

//!= require jquery_ujs
于 2015-06-15T22:59:21.793 回答
1

你可以这样做:

///* My Application Scripts
//= 'require jquery'
//= 'require jquery_ujs'
//= require_tree .
//= require_self
*///

不会加载带有 ('') 的要求行。

于 2011-05-21T11:03:02.060 回答