我创建了一个NodeJS应用程序,并使用带有-native
标志的JXCore生成一个独立的.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.
我浏览了关于packaging和一些blog posts的文档。我无法找到如何做到这一点。有什么想法吗?
谢谢!
答案 0 :(得分: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
运行时相同的索引处(非编译)。