【问题标题】:How to comment out rails 3.1 asset require statement如何注释掉rails 3.1资产需求声明
【发布时间】:2011-08-29 20:11:48
【问题描述】:

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

//=require jquery_ujs

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

【问题讨论】:

    标签: ruby-on-rails-3.1 sprockets


    【解决方案1】:

    你可以这样做:

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

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

    【讨论】:

      【解决方案2】:

      取自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 文件。

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

      【讨论】:

        【解决方案3】:

        短而快...

        //require jquery_ujs
        

        ...只需删除 = 符号。

        【讨论】:

          【解决方案4】:

          我讨厌这一点,它实际上是在单行注释中寻找=,而不是//= 的组合。

          要禁用,请将// 放在//= 之后:

          //= // require jquery_ujs
          

          或取消等号

          // require jquery_ujs
          

          = 之前的任何内容都不起作用:

          //!= require jquery_ujs
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2011-11-12
            • 1970-01-01
            • 1970-01-01
            • 2011-08-30
            • 1970-01-01
            • 1970-01-01
            • 2011-08-07
            相关资源
            最近更新 更多