微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在node-webkit中从JavaScript运行shell命令?

有没有办法在node-webkit中从 JavaScript运行shell命令?
有很多类似的问题,但它对我没有帮助.

我正在尝试构建简单的桌面应用程序以列出已安装的工具.
我已经创建了全局安装的节点模块’tools-v’,当我在命令行中运行它时可以工作.
该模块运行几个命令:npm -v,node -v,git -v等.
我在Windows 7上.

//var sys = require('sys');
var exec = require('child_process').exec;
//var toolsv = (process.platform === "win32" ? "tools-v.cmd" : "tools-v");
$(document).ready(function() {
    //myCmd = "C:\\Users\\win7\\AppData\\Roaming\\npm\\tools-v.cmd";
    //myCmd = toolsv;
    myCmd = 'tools-v';
    //gui.Shell.openItem('firefox',function(error,stdout,stderr) { });
    //opening Firefox works.
    exec(myCmd,function (error,stderr) {
        //detached: true;
        console.log('stdout: ' + stdout);
        $('#output').append('stdout: ' + stdout)
        if (error !== null) {
          console.log('exec error: ' + error);
        }
    });
});

我总是得到错误
“”exec错误错误:产生ENOENT“”

我尝试了spawn而不是exec.我还在节点模块旁边尝试了其他几个命令.
谢谢.

解决方法

实际上,这段代码有效.我刚刚没有构建完整的应用程序,我通过sublime build for node-webkit进行了测试.使用grunt进行完整构建解决了每个产生问题.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐