2011-10-02 48 views
23

JSLint僅適用於一個JavaScript文件。最近,我已經開始將我的程序分成幾部分。JSLint具有多個文件

我不希望每次使用JSLint檢查我的代碼時都會串起件。用JSLint處理多重文件的標準解決方案是什麼?

+0

我們使用使用NAnt腳本的自動構建,並在此構建過程中爲JSLint運行接受文件列表的任務。我不知道這是否適合你,但無論如何。 –

回答

23

有一個版本的JSLint(node-JSLint)(命令行),允許您一次檢查多個文件。按照鏈接,下載在GitHub上:

https://github.com/reid/node-jslint

通過命令行調用的下面的例子:

JSLint app.js 
JSLint lib/lib worker.js/server.js # Multiple files 
JSLint - white - onevar - regexp app.js JSLint # All options supported 
JSLint - bitwise false app.js # Defaults to true, but You Can Specify false 
JSLint - goodparts - # undef false app.js The Good Parts, except undef 
JSLint-gp app.js # Shorthand for - goodparts:-gp 
find . -name "*.js" -print0 | xargs -0 jslint # JSLint JSLint your Entire Project 

注:此應用程序被開發的NodeJS。

+0

謝謝。那麼這僅適用於節點用戶嗎?我必須安裝節點嗎? – Randomblue

+0

Randomblue,顯然這不是必須的,但你必須有兩個程序所需的js模塊(nopt.js和fs.js)。 –

1

你也可以看看這裏:https://github.com/mikewest/jslint-utils 它應該與Rhino或NodeJS一起工作。您也可以傳遞多個文件進行檢查。 注意:如果你有一個命令行腳本,它並不需要多個文件作爲參數,你總是可以這樣做:ls public/javascripts/**/*.js | jslint

0

(這是從this link採取和格式化)

Rhino是一個Javascript引擎這完全是用Java編寫的。它可以用於在具有Java解釋器的系統上從命令行運行JSLint。

文件jslint.js可以由Rhino運行。它會從文件中讀取JavaScript程序。如果沒有問題,它會安靜地終止。如果有問題,它會輸出一條消息。 JSLint的WSH版本不生成函數報告。運行JSLint的

一種方法是使用下面的命令:

C:\> java org.mozilla.javascript.tools.shell.Main jslint.js myprogram.js 

它運行的java加載並運行它會加載犀牛和運行jslint.js,這將讀取該文件myprogram.js,並報告相應錯誤找到。

下載jslint.js。

2

您可以針對HTML文件運行JSLint,而不僅僅針對JavaScript文件(由於<SCRIPT>標籤,這很有意義)。而且JSLint對於外部腳本很聰明 - 如果它能夠找到它們,它將作爲處理的一部分加載它們。所以試試這樣的:

<html> 
    <head> 
     <script src="file1.js"></script> 
     <script src="file2.js"></script> 
     ... 
     <script>mainRoutine();</script> 
    </head> 
</html> 

對此,而不是對每個文件運行JSLint。

2

命令行應用程序JavaScript Lint(http://www.javascriptlint.com/)適用於多個文件並可以遞歸目錄。例如。

%JSLPATH%\jsl.exe +recurse -process src\scripts\*.js 
1

如果您不需要錯誤的運行計數,打開終端(在OS X)並粘貼此:

for i in $(find . -iname "*.js"); do jshint $i; done 
+0

你可以替換find。與find/path/ –

14

出了什麼問題只是運行命令?

jslint . 

將檢查當前目錄中的所有js文件並遞歸樹。

+6

...將包括您的node_modules目錄中的所有內容。 –

+1

請注意,如果使用JS ** H ** int,可以通過多種方式排除目錄(例如選項「--exclude dir」)。請參閱http://jshint.com/docs/cli/部分「忽略文件」。 –