2011-01-28 84 views
5

我有Windows平臺的一個項目上工作,我碰巧做項目,服務器端 JavaScript的(是的,我實際使用服務器端的JavaScript)。我的大部分分析和研究都是通過在我的Mac上使用JSC進行的,這使我可以編寫代碼並獲取解釋器和加載.js文件的響應。現在我一直在使用Google,並且發現大部分關於Firebug或在線工具的結果。不過,我正在尋找更具指令性的東西。JavaScript控制檯的Windows一樣JSC

沒有人有針對Windows平臺的,不需要瀏覽器,可以從命令行中運行(與支持的外部.js文件加載)一個JavaScript解釋器/控制檯應用程序的好建議?

非常感謝,

+0

好問題,但接受的答案實際上並沒有回答它。 cscript,正如phpied.com上的鏈接所建議的那樣,不是交互式的。犀牛殼無法訪問操作系統資源(文件,網絡,管道等)。 – 2011-05-07 12:50:43

回答

4

node.js有一個Windows版本。安裝程序是完全非侵入式的,它所做的只是將文件複製到Program Files文件並將路徑添加到系統$ PATH env。變量。如果您然後啓動不帶參數的node.exe,它將用作REPL Javascript控制檯。

可以加載.js文件是這樣的:

> .load ./file/to/myscript.js 

退房REPL page in Node.js manual獲取更多信息。

2

如果您的Java運行時間> = 1.5,你可以嘗試jrunscript。它基於java scriptengines,JavaScript是默認支持的語言。

2

不完全等同於JSC,但仍..

我使用瀏覽器的開發工具(F12),在那裏我進入控制檯標籤。而已。
適用於現代瀏覽器,Firefox通常需要Firebug。

主要優點是有一個交互式解釋,而不需要加載一個真正的文件。

2

如果你不想安裝任何外部工具,您可以使用Windows內置的Cscript.exe和短腳本來讀取/ EVAL /打印/循環如下:

try { 
    throw {}; 
} catch(repl) { 
    while (repl.line != '.exit') { 
    if (repl.line) { 
     repl.err = null; 
     try { 
     repl.out = eval('(' + repl.line + ')'); 
     } catch (e) { 
     if (e instanceof SyntaxError) { 
      try { 
      repl.out = eval(repl.line); 
      } catch (e) { 
      repl.err = e; 
      } 
     } else { 
      repl.err = e; 
     } 
     } 
     if (repl.err) { 
     WScript.stdout.writeLine('Error: ' + repl.err.message); 
     } else { 
     WScript.stdout.writeLine(repl.out == null ? String(repl.out) : (typeof repl.out.toString == 'function' ? repl.out.toString() : Object.prototype.toString.call(repl.out))); 
     } 
    } 
    WScript.stdout.write('> '); 
    repl.line = WScript.stdin.readLine(); 
    } 
} 

保存,作爲repl.js並運行cscript repl.js以獲得類似於jsc的控制檯。

1

除了Node.js的,JSDB是相當不錯的。我再次檢查了node.js,我認爲它是now available作爲單個可執行文件node.exe,它比JSDB更緊湊。所以我可能會使用它。

1

只是檢查出DeskJS(https://deskjs.wordpress.com)。這正是你想要的!這是一個可移植的Windows控制檯應用程序,可讓您運行純JavaScript代碼,甚至加載任何現有的JS文件。它甚至支持在瀏覽器中實現的基本JS彈出框。您可以將您的命令保存爲可在啓動時運行的JS文件或將它們拖放到應用程序中。另外還有更多的東西,比如你可以爲Sublime Text創建一個可以通過cmd運行JS文件的構建系統,它支持主題和片段e.t.c ...