2011-08-15 157 views
2

我試圖通過V8運行JSLint。將命令行參數傳遞給V8中的腳本JavaScript shell

  • 我使用these instructions下載並構建了V8 shell。
  • 交互式shell d8工作,並傳遞文件給它執行該文件。

現在我想執行jslint.js並傳遞文件的名稱來解析它。我曾嘗試

d8 jslint.js myfile.js 
d8 jslint.js < myfile.js 
d8 jslint.js -- myfile.js 

毫無疑問,在jslint.js的,它使用的犀牛readline()函數來獲取命令行參數的結尾麻煩線。有沒有人修改過這個腳本在V8中工作,或者有沒有一種通用的方式讓V8向它傳遞參數?

更新:史蒂夫的答案提醒我,我沒有找到一個方法來compile JSLint into an executable就像史蒂夫做到了,但我希望的東西,這是對其他開發商小更便攜。

回答

3

d8 shell允許您在命令行上通過前綴' - '來傳遞參數。 即,你的情況:後

d8 jslint.js -- myfile.js 

寄託都「 - 」會被讀作逐字字符串,因此所有其他標誌必須在這之前去。 命令行參數將作爲一個名爲「arguments」的全局變量提供給腳本,後者包含一串字符串。 (而不是' - ',你可以使用同義的' - js-arguments')。

+0

這是[broken](http://code.google.com/p/v8/issues/detail?id=1477)一段時間,但再次修復。 –

2

你可能會看看我嘗試使用v8在http://blog.stevenreid.co.uk/2011/06/27/jslint-command-line-tool-powered-by-v8/上運行JSLint。

命令行應用程序將JSLint直接編譯到二進制文件中。所有JSlint選項都受支持。可以創建多個源文件以及來自stdin的輸入。

+0

謝謝,我會給它一個鏡頭。 –

+0

我無法構建FOX。 'make'命令死亡,說它找不到'-lXext','-lGL'和'-lGLU'。有任何想法嗎? –

+0

即使構建失敗,您也應該希望現在有'reswrap'可執行文件。這就是所需要的。 – Steve

相關問題