在Windows中我使用这些行
gui = require('nw.gui');
//To open a website externally
gui.Shell.openExternal(URL);
//To execute command line
gui.Shell.openItem(commandString);
它的工作正常。同一条代码在MAC中不起作用。我在这里失踪了什么?我不想在其中创建任何文件和编写命令(批处理文件,通常称为shell脚本)。有没有办法不创建批处理文件并在MAC中运行这些命令?
答案 0 :(得分:5)
您能提供正在测试的完整代码部分吗?
以下代码段在OSX上运行正常(使用nw.js 0.12.0
测试):
var gui = require('nw.gui');
gui.Shell.openExternal('http://www.google.com');
此外,gui.Shell.openItem
命令不用于执行命令(参见Shell documentation)。
您应该使用nodejs附带的child_process
模块:
var exec = require('child_process').exec;
exec(commandString, function (error, stdout, stderr)
{
console.log('stdout:' + stdout);
console.log('stderr:' + stderr);
});