【问题标题】:Open Directory in Node.js and node-webkit在 Node.js 和 node-webkit 中打开目录
【发布时间】:2015-09-23 10:12:17
【问题描述】:

我有一个函数应该在创建后打开一个目录,

setTimeout(function()
{
    var fs = require('fs');
    console.log(newPath);
    var open = fs.opensync(newPath, 'r');
}, 2500);

但这似乎不起作用。我收到以下错误

首先是,

TypeError: undefined is not a function 在评估(评估<anonymous>(文件:///Users/proslav/Library/Developer/Xcode/DerivedData/trackingCore-ecxfviftqracjxhimcuhhhvyddso/Build/Products/Debug/trackingCore.app/Contents/Resources/timeBroFront.app/Contents/资源/app.nw/js/jquery-1.10.2.min.js:3:4994), :43:18)

第二个是,

Uncaught ReferenceError: require is not defined

我在想可能是我的变量 newpath 未定义,但日志显示了正确的链接。 使用var fs = require('fs'); 创建目录可以正常工作。

我在这里做错了什么?

【问题讨论】:

  • 看起来你在客户端JS文件中有这个,你必须在服务器端文件中有它。
  • 我有点卡在这里。使用 node-webkit 在 Node.js 中的服务器端 JS 文件会是什么样子?
  • 查看链接的欺骗答案,它也应该可以解决您的问题。
  • 其实我找到了正确的答案。 Node-webkit 有一个功能。我无法发布它,因为问题被标记为重复
  • hmm.. 好的,你现在可以发布了。

标签: javascript node.js node-webkit


【解决方案1】:

我发现了它必须如何完成。 Node-webkit 为此提供了一个功能。它在 MAC 上工作,也应该在 Windows 上工作。 下面的函数是一个示例函数。 nw.guigui.Shell.showItemInFolder 为我做了这件事。谢谢输入。

/*---------
Open Folder
---------*/
function openFolder(path){
    var gui = require('nw.gui');
    gui.Shell.showItemInFolder(path);
}

【讨论】:

    【解决方案2】:

    在 nw.js 0.13 或更高版本中,使用:

    nw.Shell.showItemInFolder(fullpath);
    

    版本

    var gui = require('nw.gui');
    gui.Shell.showItemInFolder(fullpath);
    

    请注意,完整的路径名是必需的。如果它不存在,它将静默失败。

    如果路径类似于 c:\foo\bar.txt,它将打开文件夹 foo 并突出显示文件 bar.txt强>.

    如果路径是c:\foo\foo2,它将打开文件夹foo并突出显示文件夹foo2(我预料到了打开文件夹 foo2,但它会打开父文件夹)。


    为了找到正在运行的应用程序的完整路径,因为我们不能在前端使用节点函数(这就是你尝试加载 fs 模块时出错的原因),我创建了一个节点模块(utils. js) 具有以下内容:

    exports.getFullPath = function(fileName) {
        var path = require('path');
        return path.resolve(__dirname, fileName);
    }
    

    在前端:

    function openFolder(path) {
        var utils = require('./utils');
        var fullpath = utils.getFullPath(path);
        nw.Shell.showItemInFolder(fullpath);
    }
    

    【讨论】:

      猜你喜欢
      • 2014-09-07
      • 2015-07-02
      • 2013-11-16
      • 1970-01-01
      • 1970-01-01
      • 2013-05-19
      • 2021-06-26
      • 1970-01-01
      • 2014-04-22
      相关资源
      最近更新 更多