我正在尝试使用fs-extra模块将图像从文件夹复制到另一个文件夹.
var fse = require('fs-extra');
function copyimage() {
fse.copy('mainisp.jpg', './test', function (err) {
if (err)
return console.error(err)
});
}
Run Code Online (Sandbox Code Playgroud)
这是我的目录
这是我一直得到的错误:
错误{errno:-4058,代码:"ENOENT",系统调用:"lstat",路径:"E:\ mainisp.jpg",消息:"ENOENT:没有这样的文件或目录,lstat'E:\ mainisp.jpg' "}
并通过更改目的地./test/
我得到此错误
错误{errno:-4058,代码:"ENOENT",系统调用:"lstat",路径:"E:\ Development\Node apps\Node softwares\Digital_library\mainisp.jpg",消息:"ENOENT:没有这样的文件或目录,lstat'E:\ Devel ... apps\Node softwares\Digital_library\mainisp.jpg'"}
注意:我没有在浏览器中测试它.它是一个Nwjs应用程序,附带的错误图片来自Nwjs控制台.
当我尝试签署nwjs框架时,我正面临这个问题
codesign -f -v --deep -s '3rd Party Mac Developer Application: Company Name. (XXXXXXXXX)' --entitlements Child.plist hello.app/Contents/Versions/59.0.3071.115/nwjs\ Framework.framework
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议我该怎么做
我在我做了以下事情index.js
;
electron.remote.app.on("open-url", function(event, url) {
console.log("Open URL: " + url);
});
Run Code Online (Sandbox Code Playgroud)
这在Mac OS中触发,但在Windows中不触发.是否有其他事件或不同的方式在Windows中执行此操作?
我想在NodeJS的后台运行一个进程,等待计算机不使用10分钟.我的意思是用户不要触摸键盘或鼠标.
换句话说:我想在任何窗口中收听键盘和鼠标事件,并在发生时通知我的应用程序.
为此任务,我能够使用普通节点,或nw.js或电子.
我认为我必须使用C++,本机模块和DLL.但我希望有一个更好,更简单的解决方案.
你有没有?
这个问题非常简短且不言自明.我想知道如何在NW.js中运行我的Chrome扩展程序.
我知道你可以在NW.js中运行一个应用程序,我认为你也可以运行扩展程序吗?
关于这个话题我找不到多少.早在2013年,这样做的方式似乎是:
nw [path to manifest.json] --load-extension
Run Code Online (Sandbox Code Playgroud)
任何想法都表示赞赏!
google-chrome-extension google-chrome-app node-webkit nw.js nwjs
我正在尝试在 node-webkit (NWJS) 应用程序上实现 Firebase Web 云消息传递,但是当我尝试获取令牌时,它返回一个错误:“注册失败 - 推送服务错误”。这是我用来在身份验证后获取令牌的代码片段。
messaging.requestPermission()
.then(function() {
console.log("have Permission");
return messaging.getToken();
})
.then(function(token) {
console.log(token);
})
.catch(function(err) {
console.log("Error occured");
console.log(err);
});
Run Code Online (Sandbox Code Playgroud) 捕获控制台时如何捕获日志的行号? (仅限 Chrome - 其他浏览器与我无关)
我有以下内容来捕获所有日志;
consoleLogs: [],
init: function(){
app.captureConsole();
},
captureConsole: function(){
var _log = console.log;
console.log = function() {
app.consoleLogs.push(JSON.stringify({method: 'log', args: arguments}));
return _log.apply(console, arguments); // <-- line number 123 [e.g.]
};
},
Run Code Online (Sandbox Code Playgroud)
当控制台返回时,所有控制台的行号如预期的那样是 123 - 这并不重要。我想要的是能够将原始控制台日志号推送到我的阵列。
这是一个 nw.js 应用程序,因此 chrome api / nw api 会很棒 [如果存在]
我需要在 Windows 7 到 10 的登录屏幕上运行 GUI 应用程序。
我有一个 nodejs 应用程序注册为一项服务,它使用 node-windows 模块作为系统(默认)运行。这似乎是我需要的先决条件,但还需要更多的东西。
该应用程序只是一个连接到套接字服务器的基本套接字客户端,目前还没有什么特别之处。
我在想,如果我使用 child_process.spawn() 打开提升的命令提示符和/或以另一个用户身份运行——但是什么用户?系统不这样做。我在想 winlogon.exe 以什么方式运行,但这似乎不是 SYSTEM,即使它在任务管理器中显示的那样。
如果您具有系统级别的访问权限,是否有 Windows 命令在登录屏幕中运行 GUI?
更新:
好的。到目前为止,我有一个类似 telnet 的反向客户端作为 SYSTEM 用户下的 Windows 服务在“远程主机”上运行。它定期连接到测试服务器文本界面(也是节点),您可以从中输入 nodejs 命令——基本上是一个自制的 JS REPL。
我能够在会话 0 下生成一个隐藏的交互式 Windows 命令提示符,键入命令并通过我的小型反向命令行终端获取输出。
Obvi,加密和安全在这里很重要,但现在 Windows 运行在我笔记本电脑上 Linux 内的 VM 中,应用程序仅通过仅主机虚拟网络上的专用 NIC 相互通信,因此数据包是不会溢出到真实网络上。
在会话 0 的 Windows 命令提示符下,我尝试运行我的远程控制 GUI 应用程序。我没有看到 GUI,而是收到以下错误:
[5472:5492:0828/031356.901:ERROR:gpu_process_transport_factory.cc(1024)] 丢失 UI 共享上下文。
如果我tasklist,我得到:
winlogon.exe 2140 Console 3 6,704 K 未知 NT AUTHORITY\SYSTEM 0:00:00 N/A
LogonUI.exe 4772 Console 3 …
我当前的应用程序(Visual Studio 中的 WPF)重 2MB。
现在我想用 Node 和 Javascript 重新创建这个应用程序。为什么?主要原因是 - 我想学习一些 Javascript(是的,这是我的学习方式,请不要给我学习 JS 的建议)。次要原因 - 我想使用 CSS3 的全部功能,而 WPF App 仅支持 CSS2。
问题是重量。任何使用 Electron 或 NWJS 构建的示例应用程序的重量约为 115MB!!!
我可以理解桌面应用程序需要节点和浏览器才能工作,但是 115MB?!
所以我的问题是- 有没有办法用 Electron/NWJS(或类似的替代方案)创建轻量级桌面应用程序?
我可以接受大约 50-60MB 的最终重量。
嗨,我的代码在 Nodejs 中看起来像这样,它有效!
但是当我尝试在 nwjs 应用程序中使用完全相同的代码时,却没有!因为当我嗅探并看到它认为它在网络浏览器下运行并且它尝试使用 nwjs 的 chromium 浏览器的本机功能时。
function connecttest(domain)
{
socket = require('socket.io-client')('https://ws.'+domain.replace('www.').replace('m.'),{
forceNode:true,
transports: ['websocket'],
extraHeaders: {
'Origin': 'https://www.'+domain.replace('www.').replace('m.')
},
transportOptions: {
polling: {
extraHeaders: {
'Origin': 'https://www.'+domain.replace('www.').replace('m.')
}
}
}
});
socket.on('connect', function(socket){
console.log("ok");
socket.emit('query', {"body":{"siteId":"9","source":1,"lang":"tr"},"action":"site.session","frontEndId":0,"token":null});
socket.on('response', function(data){
console.log(data);
});
});
}
Run Code Online (Sandbox Code Playgroud)
如您所见,它无法设置正确的原始标头
但它可以在普通的nodejs脚本下工作
什么./
意思?我假设它用于搜索路径,但我不确定这是否属实.我知道,例如,在C#中,如果我想搜索我可以使用的路径../../file.exe
.
目前我想要的是使用以下代码node.js
从我的应用程序中运行命令NW.js
:
var exec = require('child_process').exec;
exec('node ./server.js', function(error, stdout, stderr) {
console.log('stdout: ', stdout);
console.log('stderr: ', stderr);
if (error !== null) {
console.log('exec error: ', error);
}
});
Run Code Online (Sandbox Code Playgroud)
但是,上面的代码不会产生预期的结果.我相信这是因为我不知道如何搜索server.js
我想要运行的路径.
我使用的是<webview>
标签而不是 iFrame,但在NWJS 文档、电子文档以及有关访问其中内容的实际<webview>
文档中找不到太多详细信息。
我想取回document.title
从内<webview>
,并发送回主过程。
nwjs ×13
node.js ×8
electron ×5
javascript ×3
node-webkit ×3
nw.js ×2
console.log ×1
firebase ×1
fs-extra ×1
npm ×1
robotjs ×1
socket.io ×1
webview ×1
windows ×1