簡體   English   中英

批注和application.js中帶有等號的批注之間的區別

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM