29

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

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

console.log("Hello World");

私が走るとき

nodejs /path/to/test.js
私のコンソールでは、次のようになります。
こんにちは世界
ただし、これを Sublime で動作させることはできません。Tools / Build System / New Build Systemをクリックして、新しいビルド システムを作成しました。次に、次の行を入力しました。
{
    "cmd": ["nodejs", "$file"]
}
私の知る限り、この 1 行は次のコマンドの JSON 表現です。
nodejs /path/to/current/file.ext
私が言ったように、これをコンソールで手動で実行すると、問題なく動作します。Buildのショートカットである Sublime で F7 を押すと、Sublime のコンソールが表示されます。空いてるけど。

もう一つ奇妙なことがあります。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 modifiedWrapper = runInThisContext(wrapper, filename, true); ^ SyntaxError:予期しないトークン : Module._compile で (module.js:434:25) Object..js (module.js:464:10) で Module.load で (module.js:353:32) Function._load (module.js:311:12) で Array.0 で (module.js:484:10) EventEmitter._tickCallback (node.js:190:39) で [終了コード 1 で 0.1 秒で終了]

では、実際の JavaScript コードを実行しても何も出力されないのはなぜでしょうか? 前もって感謝します!

4

13 に答える 13

43

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

{   
  "cmd": ["/usr/local/bin/node", "$file"],   
  "selector": "source.js"   
}
于 2014-01-06T05:41:33.003 に答える
7

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

{
  "cmd": ["node", "$file"],
  "selector": "*.js"
}
于 2013-12-16T15:40:13.417 に答える
3

以下のリンクの方法#2が解決しました:

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

于 2013-12-19T06:52:24.757 に答える
2

これは、Windows7で私にとってうまくいきます

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

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

{

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

}

\\ エスケープ文字

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

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

画像の例を見るにはここをクリックしてください。

于 2016-01-19T20:18:44.403 に答える
1

通常は

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

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

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

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

于 2014-03-05T15:22:01.247 に答える
0

他のすべてが失敗した場合は、ノードスーパーバイザーを確認してください.......コードを変更するだけで、サーバーが自動的に再起動するため、変更がライブで表示されます=)

于 2013-04-25T09:56:27.950 に答える
0

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

于 2013-03-14T20:10:46.157 に答える
-1

Linuxではこれを使用しますが、メインファイルにいることを確認してください

{
    "shell_cmd": "pkill node ; node $file"
}
于 2016-03-13T14:24:55.963 に答える