在Node.js和node-webkit中打开目录
Open Directory in Node.js and node-webkit
我有一个函数,它应该在创建目录后打开,
setTimeout(function()
{
var fs = require('fs');
console.log(newPath);
var open = fs.opensync(newPath, 'r');
}, 2500);
但这似乎不起作用。我得到以下错误
第一,
TypeError: undefined不是函数at eval (eval at
<anonymous>
(file://Users/proslav/Library/Developer/Xcode/DerivedData/trackingCore-ecxfviftqracjxhimcuhhhvyddso/Build/Products/Debug/trackingCore.app/Contents/Resources/timeBroFront.app/Contents/Resources/app.nw/js/jquery-1.10.2.min.js:3:4994),:43:18)
第二个是
Uncaught ReferenceError: require is not defined
我认为它可能是我的变量newpath
是未定义的,但日志显示了我正确的链接。使用var fs = require('fs');
创建目录工作正常。
我在这里做错了什么?
我知道该怎么做了。Node-webkit为此提供了一个函数。它可以在MAC上运行,也可以在windows上运行。下面的函数是一个示例函数。nw.gui
和gui.Shell.showItemInFolder
为我做了这件事。谢谢你的输入。
/*---------
Open Folder
---------*/
function openFolder(path){
var gui = require('nw.gui');
gui.Shell.showItemInFolder(path);
}
在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模块时出现错误的原因),我创建了一个节点模块(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);
}
- 如何在构建node-webkit应用程序后获取外部资源
- node-webkit-从父窗口捕获iframe鼠标事件
- 如何从Node Webkit应用程序中退出外部CMD文件
- 在Node Webkit应用程序中从DOM单击按钮时运行批处理文件
- NWJS(Node Webkit)使用左键单击打开任务栏菜单
- 如何在 Node-Webkit 的同一窗口中打开 URL
- node-webkit:将数据导出到csv并提示用户保存文件
- 如何设置Selenium以自动化独立的桌面Web应用程序(Node WebKit)
- Node Webkit程序与nwdirectory一起崩溃
- Angularjs在node-webkit应用程序中将image src更改为“unsafe:”
- Node Webkit从avi文件路径获取视频持续时间
- Node webkit 应用程序在加载 Vimeo 视频时崩溃
- Angular JS & Node Webkit Routing
- Moongose, expressjs and node-webkit
- NW.js - PouchDB - 无法在 node webkit 中通过 require() 使用 PouchDB
- 将画布保存到 Node-webkit 中的磁盘
- Node-webkit 中的音频使用 node js 和 Web Audio API
- 使用 Jam.js、require.js 和 node-webkit 没有冲突
- node-webkit 在 c++ 插件中创建 ArrayBuffer 时崩溃
- 如何从node-webkit应用程序打开浏览器窗口