web-dev-qa-db-ja.com

Sublime Text 2のNode.jsビルドシステム

JavaScriptの学習を始めたばかりです。その間、ブラウザーで実行するためにJavaScriptコードをHTML文書に埋め込むことにうんざりしていました。 Sublimeのコンソールでスクリプトを実行するだけでいいと思ったので、エディタを離れる必要はありません。したがって、SublimeにはJavaScriptビルドシステムが付属していないため、JavaScriptビルドシステムを作成しようとしていました。

私のアイデアは、Node.jsをJavaScriptインタープリターとして使用することでした。 Linux Mintのパッケージマネージャーでインストールしました。私が言える限り、それはうまく機能します。ファイルがあるとしましょう test.js JavaScriptコードの次の行を含む:

console.log( "Hello World");

走るとき

nodejs /path/to/test.js
こんにちは世界
ツール/ビルドシステム/新しいビルドシステム
{
 "cmd":["nodejs"、 "$ file"] 
}
nodejs /path/to/current/file.ext
構築する

別の奇妙なことがあります。 Sublimeのコンソールの(存在しない)出力はビルドシステムがNode.jsで正しく動作するように設定されていないことを示していますが、誤って非JSファイルを実行しようとしたときにNode.jsエラーが表示されました Node.sublime-build ファイル。これはSublimeのコンソールに表示される出力です。

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

module.js:434 var compileWrapper = runInThisContext(wrapper、filename、true); ^ SyntaxError:予期しないトークン: at Module._compile(モジュール。 js:434:25) at Object..js(module.js:464:10) at Module.load(module.js:353:32) at Function ._load(module.js:311:12) at Array.0(module.js:484:10) at EventEmitter._tickCallback(node.js:190:39) [終了コード1で0.1秒で終了]
29
lambdarookie
{
    "cmd": ["node","$file"]
}

私はウィンドウで完璧に動作し、崇高なウィンドウに出力が表示されます。崇高からサーバーを停止する方法はわかりませんが、ノードプロセスを検索して強制終了する必要があります。

また、ノードがPATHにあることを確認してください;)

それがあなたのために働くことを願っています。

45
garcianavalon

Macユーザーの場合、which nodeターミナル。ノードの実行可能ファイルのパスを出力します。ほとんどの場合、/usr/local/bin/node。新しいビルドシステムを作成します(Tools > Build System > New Build System)Sublime Textで次の設定を使用します。

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

Ubuntu Linuxでテスト済み。以下のようにファイルセレクタを使用します。

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

Windowsのヒントを次に示します。

このスレッドからの答えのほとんどは正しいですが、完全なものはなく、少なくともノードを実行できる場合でも、既存のNodeプロセスを強制終了する方法についての答えはありません。上記のアプローチのあなたのために働いた、あなたは手動で殺すことになりますNode常に。

「Windows」のために私がしたことは次のとおりです。

  1. Sublime Textを開き、[ツール]-> [ビルドシステム]-> [新しいビルドシステム]に移動します。
  2. 上記は新しいファイルを開き、その下にコンテンツを貼り付け、nodejs.xxxとして保存します(デフォルトの拡張子を使用):{"cmd":["c:/test.bat"、 "$ file"]}
  3. ファイル(c:/test.bat)を作成し、そこにこのコンテンツ(2行の両方)を貼り付けます。

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

  1. 保存して、Sublime Textに切り替え、[ツール]-> [システムのビルド]-> [nodejs]を選択します。
  2. nodejs実行可能ファイルを開き、CTRL + Bを押します。
  3. あなたは行ってもいいです。 :)

うなずきをお楽しみください。

4
Soman Dubey

以下のリンクの方法#2は私のために解決しました:

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

3
rsc

これは、Windows7で私にとって中華です

1)Sublime Textを開き、[ツール]-> [ビルドシステム]-> [新しいビルドシステム]に移動します。

2)このテキストを貼り付け

{

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

}

\\エスケープ文字

3)Node.sublime-buildとして保存

4)新しいjsファイルを作成し、Ctrl + Bキーを押してビルドします。

here をクリックして、画像の例をご覧ください。

2
Darth Pabor

通常は

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

動作します。ただし、サーバーを停止する方法はありません。サーバーを新しいコンソールで開き、自動的に閉じる最適なソリューションを見つけました。私はスーパーバイザーやノードインスペクターともうまく働いています

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

私はそれが役立つことを願っています

1
Krzysztof Wende

ファイルがディスク上に存在/保存されている場合にのみ、コンソール出力を表示できます。 (匿名ファイルの場合、出力も表示されません)

お役に立てれば

1
phani

他のすべてが失敗した場合は、Node Supervisor .......

0
Dactyllo

環境変数に依存する可能性があります-「nodejs」の代わりにノードへのフルパスを使用してみてください。 Mac OS(たとえば、単なるノードではなく/ usr/local/node)で動作しました

0
kossoy

Windowsでは、次の構成が機能します。

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