簡體   English   中英

Sublime Text 2 中的 Node.js 構建系統

[英]Node.js build system in Sublime Text 2

我剛開始學習 JavaScript。 這樣做時,我厭倦了將 JavaScript 代碼嵌入到 HTML 文檔中以便在瀏覽器中運行。 我認為在 Sublime 的控制台中直接運行我的腳本會很好,這樣我就不必離開編輯器。 因此我試圖創建一個 JavaScript 構建系統,因為 Sublime 沒有自帶。

我的想法是使用 Node.js 作為 JavaScript 解釋器。 我用 Linux Mint 的包管理器安裝了它。 據我所知,它工作得很好。 containing the following line of JavaScript code:假設我有一個包含以下 JavaScript 代碼行的文件

console.log("Hello World");

當我跑

nodejs /path/to/test.js
在我的控制台中,我得到:
{
    "cmd": ["nodejs", "$file"]
}
但是,我無法將其與 Sublime 一起使用。 . 我通過單擊創建了一個新的 然后我輸入了以下幾行:
  {\n     "cmd": ["nodejs", "$file"]\n }
據我所知,這一行是以下命令的 JSON 表示:
  nodejs /path/to/current/file.ext
就像我說的,如果我在控制台中手動運行它,它工作得很好。 , Sublime's console shows up. 如果我在 Sublime 中按 F7,這是的快捷方式,Sublime 的控制台就會出現。 雖然是空​​的。

還有一件很奇怪的事。 file.盡管 Sublime 控制台的(不存在的)輸出表明構建系統未配置為與 Node.js 一起正常工作,但當我不小心嘗試運行非 JS 文件(例如文件。 這是 Sublime 控制台中顯示的輸出:

\n /home/baerenfaenger/.config/sublime-text-2/Packages/User/Node.sublime-build:2\n     "cmd": ["nodejs", "$file"]\n       ^

\n\n

模塊.js:434\n varcompiledWrapper = runInThisContext(wrapper, filename, true);\n ^\n語法錯誤:意外標記:\n 在 Module._compile (module.js:434:25)\n 在 Object..js (module.js:464:10)\n 在 Module.load (module.js:353:32)\n 在 Function._load (module.js:311:12)\n 在 Array.0 (module.js:484:10)\n 在 EventEmitter._tickCallback (node.js:190:39)\n [0.1s 內完成,退出代碼為 1]

那么為什么我在執行實際的 JavaScript 代碼時沒有得到任何輸出呢? 先感謝您!

{
    "cmd": ["node","$file"]
}

在 Windows 中非常適合我,它在 sublime 窗口中顯示輸出。 雖然我不知道如何在 sublime 之后停止服務器,但我必須搜索並殺死節點進程。

此外,檢查節點是否在您的 PATH 中;)

希望對你有效。

Mac 用戶,在終端輸入which node 它輸出節點可執行文件的路徑,在大多數情況下是/usr/local/bin/node 現在在 Sublime Text 中使用以下設置創建一個新的構建系統( Tools > Build System > New Build System )。

{   
  "cmd": ["/usr/local/bin/node", "$file"],   
  "selector": "source.js"   
}

在 Ubuntu Linux 上測試。 使用文件選擇器,如下所示:

{
  "cmd": ["node", "$file"],
  "selector": "*.js"
}

這是 Windows 的提示,

該線程中的大多數答案都是正確的,但沒有一個是完整的,即使您能夠在 sublime 中運行 node,至少也沒有任何答案說明如何終止現有的 Node 進程。 因此,最終如果上述任何一種方法對您有用,您最終都會手動殺死 Node。

這是我為“Windows”所做的:

  1. 打開 Sublime Text,轉到“工具”->“構建系統”->“新建構建系統”
  2. 以上將打開一個新文件,粘貼下面的內容,並將其保存為 nodejs.xxx(使用默認擴展名): { "cmd": ["c:/test.bat","$file"] }
  3. 創建一個文件( c:/test.bat )並將此內容(兩行)粘貼到那里:

taskkill /F /IM "node.exe" "c:/Program Files/nodejs/node.exe" %1

  1. 保存,切換到 Sublime Text 並選擇“工具”->“構建系統”->“nodejs”
  2. 打開任何 Nodejs 可執行文件並按 CTRL+B。
  3. 你很高興去。 :)

喜歡點頭。

下面鏈接的方法#2 為我解決了:

http://www.wikihow.com/Create-a-Javascript-Console-in-Sublime-Text

這在 Windows7 中對我有用

1) 打開 Sublime Text,轉到“工具”->“構建系統”->“新建構建系統”

2) 粘貼此文本

{

"cmd": ["C:\\Program Files (x86)\\nodejs\\node","$file"]

}

\\\\ 轉義字符

3)另存為Node.sublime-build

4) 新建一個js文件,按CTRL+B進行build。

單擊此處查看圖像示例。

一般

"cmd":["node",$file]

會工作。 但是沒有辦法停止服務器比。 我找到了在新控制台中打開服務器並自動關閉它的最佳解決方案。 我也可以與主管或節點檢查員一起工作

"cmd" : ["start", "cmd.exe", "/C", "node", "$file"]

我希望它會有所幫助

只有當文件存在/保存在磁盤上時,我才能看到控制台輸出。 (對於匿名文件,我也看不到輸出)

希望這可以幫助

在 Windows 上,以下配置有效:

{
    "cmd": ["C:\\Program Files\\nodejs\\node.exe", "$file"],
    "selector": "source.js"
}

我正在使用 Windows,並使用以下內容創建了一個新的構建系統:

{
"cmd": ["node", "$file"],
"selector": "source.js",
"working_dir": "${project_path:${folder}}",
"path": "C:\\Program Files\\nodejs"
}

然后在 Sublime 中運行一個帶有 sucessul 的 JavaScript 文件。

我的 JavaScript 文件包含以下內容:

 var a = 10; var b = 20; var resultado = a + b; console.log('resultado:', resultado);

可能它取決於環境變量——嘗試使用節點的完整路徑,而不僅僅是“nodejs”。 它在 Mac OS 上對我有用(例如 /usr/local/node 而不僅僅是 node)

如果所有其他方法都失敗,請檢查節點主管.......您只需要更改代碼,服務器將自行重新啟動,以便您可以實時看到更改 =)

在 linux 上我使用這個,只要確保你在你的主文件上

{
    "shell_cmd": "pkill node ; node $file"
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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