3

NodeJS アプリケーションを作成し、JXCore を-nativeフラグ付きで使用して、スタンドアローンを作成しました.exe。今、アプリケーションを実行して、いくつかのコマンド ライン引数を渡そうとしています。

NodeJS アプリでは問題なく動作しますが、次の場合は動作しませんexe

c:\project> node MyApp.js -arg1 bla
OK.

正常に動作します。しかし

c:\project> jx package MyApp.js MyApp -native
c:\project> MyApp.exe -arg1 bla
Error, please provide argument arg1.

パッケージングに関するドキュメントと、それに関するいくつかのブログ投稿を調べました。私はそれを行う方法を見つけることができません。何か案が?

ありがとう!

4

1 に答える 1

4

まったく同じですが、コンパイルされたアプリにはわずかな違いがあります。以下のコマンドラインの場合。

jx myapp.js arg1 arg2

プロセスの引数は次のとおりです。

process.argv == [ 'jx' , 'myapp.js', 'arg1', 'arg2' ]

myapp.js を myapp.exe にコンパイルするときは、単に呼び出します。

myapp.exe arg1 arg2

したがって、プロセスの引数は次のようになります。

process.argv == [ 'myapp.exe', 'arg1', 'arg2' ]

コンパイルされたアプリとコンパイルされていないアプリを簡単に切り替えるために、トリックを使用できます。

if(process.IsEmbedded) process.argv.unshift(process.argv[0]);

したがって、コンパイルされたアプリの場合、結果は次のよう[ 'myapp.exe', 'myapp.exe', 'arg1', 'arg2' ]arg1なりarg2ますjx

于 2014-11-07T18:13:02.763 に答える