[英]Difference between comments and comments with equals sign in application.js
為什么application.js
行似乎被注釋掉了?
我看到了帶有偽指令的教程,這些偽指令將代碼行添加到application.js
文件,但是添加的行似乎已被注釋掉。
一個基本的例子在這里
這是我的文件的樣子(我添加的行似乎是注釋):
我懷疑=
可能會否定注釋,但是在我所知道的每種語言中,一旦聲明了注釋,無論該行有什么其他內容,該行都將被視為注釋
鏈輪正在使用這種注釋//= require xx
來稱呼最終用戶資產生成。
這與語言無關,但更多地是該工具的功能。
叫做注解
這種模式之所以流行,是因為它不會以任何方式影響實際的代碼。
歸根結底,這只是為了收集所有文件,然后將其壓縮並提供給用戶使用,而實際上並未更改與代碼相關的任何內容。
從鏈輪 :
指令是資產文件中的特殊注釋,也是與處理器進行交互的主要方式。 什么樣的互動? 您可以使用這些指令來告訴Sprockets加載其他文件,或指定對其他資產的依賴性。
例如,假設您具有編寫的自定義JavaScript。 您將此JavaScript放在了一個名為
beta.js
的文件中。 javascript大量使用了jQuery,因此您需要在執行代碼之前先對其進行加載。 您可以在beta.js
的頂部添加一個require
指令://= require jquery $().ready({ // my custom code here })
指令處理器理解三種格式的注釋塊:
/* Multi-line comment blocks (CSS, SCSS, JavaScript) *= require foo */
// Single-line comment blocks (SCSS, JavaScript) //= require foo
# Single-line comment blocks (CoffeeScript) #= require foo
注意:指令僅在任何應用程序代碼之前出現時才進行處理。 一旦您的行不包含注釋或空格,則Sprockets將停止尋找指令。 如果在文檔的“標題”之外使用指令,它將不會執行任何操作,並且不會引發任何錯誤。
以下是可用指令的列表:
require
將文件內容添加到當前require_self
將當前內容連接到當前位置的順序更改require_directory
將文件夾中每個文件的內容添加到當前require_tree
在當前路徑中的所有目錄中添加所有文件的內容link
-編譯目標文件並公開可用,而無需向當前文件添加內容link_directory
使目標目錄可編譯並公開可用,而無需在當前目錄中添加內容link_tree
使目標樹可以編譯並公開可用,而不向當前目錄添加內容depend_on
如果目標已更改,則depend_on
編譯當前文件stub
-忽略目標文件
並非總是如此,例如在PHP中,您具有注釋注釋: https : //php-annotations.readthedocs.io/en/latest/UsingAnnotations.html
在JS中,使用流程時,您要在文件頂部添加注釋,如下所示:
// @flow
[file content]
這實際上是常見的模式
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.