我有一个应该在创建目录后打开目录的函数
char
但这似乎不起作用。我收到以下错误
首先是,
TypeError:undefined不是函数 at eval(eval at
setTimeout(function() { var fs = require('fs'); console.log(newPath); var open = fs.opensync(newPath, 'r'); }, 2500);
(file:///Users/proslav/Library/Developer/Xcode/DerivedData/trackingCore-ecxfviftqracjxhimcuhhhvyddso/Build/Products/Debug/trackingCore.app/Contents/Resources/timeBroFront.app/目录/资源/ app.nw / js / jquery-1.10.2.min.js:3:4994),:43:18)
,第二是,
未捕获的ReferenceError:未定义require
我原以为可能是我的变量<anonymous>
未定,但日志显示我正确的链接。
使用newpath
创建目录工作正常。
我在这里做错了什么?
答案 0 :(得分:5)
我发现了它是如何完成的。 Node-webkit为此提供了一个功能。它正在研究MAC,也应该在Windows上运行。
以下功能是一个示例功能。 nw.gui
和gui.Shell.showItemInFolder
为我做了这件事。输入的Thx。
/*---------
Open Folder
---------*/
function openFolder(path){
var gui = require('nw.gui');
gui.Shell.showItemInFolder(path);
}
答案 1 :(得分:1)
在nw.js版本0.13或更高版本中,使用:
nw.Shell.showItemInFolder(fullpath);
版本&lt; 0.13:
var gui = require('nw.gui');
gui.Shell.showItemInFolder(fullpath);
请注意,需要完整路径名。如果它不存在,它将无声地失败。
如果路径类似于 c:\ foo \ bar.txt ,则会打开文件夹 foo 并突出显示文件 bar.txt 强>
如果路径为 c:\ foo \ foo2 ,则会打开文件夹 foo 并突出显示文件夹 foo2 (我预计它打开文件夹 foo2 ,但它会打开父级。)
要查找正在运行的应用的完整路径,因为我们无法在前端使用节点功能(这就是为什么您尝试加载fs模块时出现错误的原因),我&#39;我创建了一个节点模块(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);
}