ただし、
ドキュメントによると、Windowsでこのような一般的な場所は、ノードインストールディレクトリのサブディレクトリ
通常、このアプローチは、コマンドラインから実行するように設計されたさまざまなユーティリティのグローバルインストールに使用されます。 以下に例を示します。
- コマンド
「 npm install jshint -g 」は、コマンド「jshint」 がJSHintの起動に使用されるPATHに 表示されるようにします 。
-
「 npm install browserify -g 」コマンド は、Browserifyの起動に役立つ「browserify」コマンド がPATHに 表示されるように します。
-
「 npm install less -g 」コマンド は、 less.jsの実行に役立つ「lessc」コマンド がPATHに 表示されるようにします。
ただし、CLI(コマンドライン)はウェッジに対応していませんでした-Habrahabrの読者は、Node.js APIを使用するJavaScriptアプリケーションに、HTMLおよびCSSで構成されるGUI(グラフィカルユーザーインターフェイス)も装備できることを既に認識しているはずです。 これを行うには、エンジン上でNodeの代わりにそのようなアプリケーションを実行する必要があります。これは昨年までnode-webkitと呼ばれ、現在(2015)年に1月14日にnw.jsに名前が変更され ました。
最初のステップは明確です
ただし、このコードを実行するに
この問題を克服するために、 開発者は
また、nwパッケージは ( package.jsonファイルの「bin」プロパティで)「nw」コマンドも定義することに注意してください。 したがって、
しかし、これは
たとえば、 ハイパーテキストベクトルFidonetのブラウザの一部として、 このようなスクリプトのオープンソースコードは次のようになります 。
#!/usr/bin/env node require('child_process').spawn( require('nw').findpath(), ['.'].concat( process.argv.slice(2) ), { cwd: __dirname, detached: true, stdio: 'ignore' } ).unref();
fidonetovskogoには特に何も含まれていないことが簡単にわかります。 したがって、
この例の次のフラグメントに注意してください。
- “ Detached:true ”
および“ .unref() ”:nw.jsエンジンは別のプロセスとして起動し、startコマンドはすぐに作業を終了します(待機しません)。
-
“ Cwd:__dirname ”:npm.jsエンジンは、npmがグローバルにstartコマンドをインストールしたディレクトリで動作を開始します(GUIアプリケーション 全体が同じ場所にあると仮定します。ただし、このコードをパッケージファイルの隣に配置しない場合.json 、私がしたように、そしていくつかのサブディレクトリで、サブディレクトリからの出力をこの行の親ディレクトリに追加します);
-
" ['。']。Concat(process.argv.slice(2)) ":コマンドラインのnw.jsエンジンは、最初にピリオド(現在のディレクトリから起動するアプリケーションを取得するための命令)を受け取り、次に起動コマンドのすべてのコマンドラインパラメーターを受け取ります。
-
「 #!/ Usr / bin / env node 」:Windowsでは、この行は不要に見えるかもしれませんが、この印象は幻想です(実際、npmはこの行の存在に依存しています)。
上記のアプローチは、以前の