我想使用nodeJS运行可执行文件。以下是我尝试实现的过程。
我的尝试:
main.js
var subpy = require('child_process').execFile("C:\\datajr\\datajr.exe");
第二次尝试:
我从那里引用了一些质量检查堆栈,如下所示:
var child = require('child_process').execFile;
var executablePath = "C:\\datajr\\datajr.exe";
child(executablePath, function(err, data) {
if(err){
console.error(err);
return;
}
console.log(data.toString());
});
npm start
时,我的electron JS
和datajr.exe
必须执行。但不幸的是它没有发生。答案 0 :(得分:1)
从npm文档中:
npm start
运行在其“脚本”对象(在您的package.json
文件中)的包的“ start”属性中指定的任意命令。如果未在“脚本”对象上指定“开始”属性,它将运行节点server.js。
因此,如果您的项目目录中没有package.json
,或者在main.js
的{{1}}属性中没有包含start
, scripts
无法正常工作。
如果您想了解更多信息,请查看npm文档:
对于npm start
:https://docs.npmjs.com/cli/start
对于npm start
文件:https://docs.npmjs.com/files/package.json
答案 1 :(得分:1)
我想您想同时运行电子应用程序和另一个可执行文件,在这种情况下,您可以使用concurrently。
假设您可以直接从命令行执行可执行文件,例如datajr
,然后可以通过添加以下内容来修改package.json
:
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "concurrently \"datajr\" \"electron main.js\" ",
}
现在npm start
来启动电子应用程序和可执行文件。这样,您就可以克服从main.js
内部执行文件的麻烦。