2017-10-05 8 views
0

CLIとJavaScript APIの両方を持つパッケージ化されたノードを、実行される場所に基づいて特定のロジックが特定される場所にする方法を教えてください。ノードパッケージをCLIとJavaScriptの両方で機能させる

これは明らかにほとんどの主要ノードパッケージと非常によく似ていますが、この種のパターンについてはディスカッションを見つけることができませんでした。

答えて

0

あなたは、任意のJavaScriptファイルの先頭にシェバング行を追加する例については、このファイルを検討し、hello.jsことができます。

#!/usr/bin/env node 

function hello(name) { 
    console.log('hello ' + name); 
} 

/* if called directly from command line or from a shell script */ 
if (require.main === module) { 
    hello(process.argv[2]); 
} 

module.exports = hello; 

注コードを実行する方法をあなたのシェルを告げる最初の行。

あなたはhello.jsこのコマンドで実行可能作ることができます。

chmod u+x hello.js 

は今、あなたはこのようにそれを呼び出すことができます。

./hello.js joe 

それはなります出力: "こんにちはジョー"。

あなたはまたいつものようにNode.jsの中の他のJavaScriptファイルに依存関係として同じファイルを使用することができます。

const hello = require('./hello'); 
hello('joe'); 
関連する問題