Tag: node webkit

在纯npm版本的NW.js(node-webkit)应用程序中加载Bootstrap

我正在尝试使用NW.js构build一个简单的桌面应用程序。 受到包括这一个职位在内的一些职位的启发,我想尝试一种纯粹的npm方法,没有任何bower , grunt或gulp 。 所以我继续使用安装了npm模块的jquery和bootstrap库。 当我在我的应用程序的JavaScript注入模块像这样: global.jQuery = $ = require("jquery"); var bootstrap = require("bootstrap"); 我得到一个ReferenceError: document is not defined从bootstrap ReferenceError: document is not defined 。 我可以通过老式的方式加载HTML文件,虽然: <script type="text/javascript" src="node_modules/bootstrap/dist/js/bootstrap.js"></script> 我问自己,如果这是一个愚蠢的想法加载引导低谷require在脚本文件? 基本上,我不需要那里。 它可以通过html中的脚本标签加载。 什么是最佳实践? 我很困惑。 更新。 解决scheme 从@Kuf的build议,我创build了一个build.js脚本 var copyfiles = require('copyfiles'); copyfiles(["node_modules/bootstrap/dist/js/bootstrap.js", "vendor/js"], true, function (err) { if (err) return console.error(err); }); copyfiles(["node_modules/bootstrap/dist/css/bootstrap.css", […]

缺less符号的问题 – 不推荐使用NewInstance。 只有当与nw.js一起运行

在我的项目中,我使用libvirt库。 这些是libvirt api的节点绑定。 由于这个问题可以涉及其他绑定的情况下,我发布我的问题在这里。 安装npm安装后,会抛出警告(下面​​的例子) ../src/domain.cc: In static member function 'static v8::Local<v8::Object> NLV::Domain::NewInstance(virDomainPtr)': ../src/domain.cc:197:44: warning: 'v8::Local<v8::Object> v8::Function::NewInstance() const' is deprecated (declared at /home/mark/.node-gyp/6.3.1/include/node/v8.h:3243): Use maybe version [-Wdeprecated-declarations] Local<Object> object = ctor->NewInstance(); ^ 在使用普通节点应用程序后,它不会造成任何问题。 但是,当涉及到nw.js时,它正是由于这个NewInstance的使用而崩溃的。 有关证据请参阅: ….nwjs/nw: symbol lookup error: …./project/node_modules/libvirt/ build/Release/libvirt.node: undefined symbol: _ZN2v816FunctionTemplate3NewEPNS_7IsolateEPFvRKNS_20FunctionCallbackInfoINS_5ValueEEEENS_5LocalIS4_EENSA_INS_9SignatureEEEi Aborted (core dumped) 有问题的这个符号引用了同样的方法 – NewInstance。 有问题的代码,纯粹的forms如下所示: Domain::Domain(virDomainPtr handle) : NLVObject(handle) […]

节点webkit和Google OAuth

刚开始使用node webkit,我只是通过一个iframe加载一个网站来开始…(我知道,肮脏,但用双手和一点时间完成工作)。 <iframe src="http://somewebsite.com"></iframe> 问题是,我有Googlelogin的网站,这会在网站上popup。 出于某种原因,它不在node-webkit中,我找不到任何关于启用popup窗口的文档… 我用于Googlelogin的代码是他们在网站上提供的默认代码: https : //developers.google.com/accounts/docs/OAuth2Login 我目前没有在node-webkitconfiguration中设置任何令人兴奋的东西: "window": { "toolbar": true, "width": 1024, "height": 768, "min_width": 300, "min_height": 300, "position": "center", "resizable": true, "show_in_taskbar": true, "icon": "www/resources/img/icon.png" }, 所以我的问题是,如何从iframe启用node-webkit上的popup窗口来获取Google OAuth的工作? 在此先感谢您的帮助。

如何检查计算机在NodeJS中闲置的时间?

我想在NodeJS的后台运行一个进程,等到计算机不使用10分钟。 我的意思是用户不要触摸键盘或鼠标。 换句话说:我想听任何窗口中的键盘和鼠标事件,并在发生事件时通知我的应用程序。 对于这个任务,我可以使用普通节点,或者nw.js或者电子。 我认为我必须使用C ++,本机模块和DLL。 但是我希望有一个更好更简单的解决scheme。 你有?

节点Webkit桌面应用程序 – 浏览器PDF文件的默认caching

我使用node webkit构build了一个桌面应用程序,并且需要caching在线时通过应用程序查看的PDF文件,以便它们也可以脱机使用。 我还没有find一个解决scheme,但在testing过程中,我注意到,我以前在网上查看过的文件可以脱机使用,即使我还没有为此编写任何代码。 因此这些必须已经被自动caching。 我做了一个search,find哪些文件正在被保存,但无法find任何东西。 任何人都可以解释这个或指向我在这方面的信息,以便我了解它是如何工作,并确保我的应用程序可以利用浏览器caching的默认行为? 非常感谢, ******** UPDATE *********** 我find了一个本地存储PDF的解决scheme,但这不是我的查询。 我正在寻找一个解释,以便如何离线时PDF没有这个代码我已经写了。 这些文件必须自动存储在别处,否则它们将如何显示?

为什么在没有Internet连接的情况下,Node Webkit中的require('child-process')不起作用?

在最新的稳定版本(v0.18.8)上运行的Node-Webkit应用程序中,我有这三行: console.log("Check 1"); var spawn = require('child_process').spawn; console.log("Check 2"); 当我有互联网,我得到预期的输出: Check 1 Check 2 当我从互联网上断开连接,或者没有networking时,我得到: Check 1 net.js:10 Uncaught Error: EFILE at net.js:10:23 at NativeModule.compile (bootstrap_node.js:531:7) at NativeModule.require (bootstrap_node.js:472:18) at internal/child_process.js:6:13 at NativeModule.compile (bootstrap_node.js:531:7) at NativeModule.require (bootstrap_node.js:472:18) at child_process.js:12:23 at NativeModule.compile (bootstrap_node.js:531:7) at Function.NativeModule.require (bootstrap_node.js:472:18) at Function.Module._load (module.js:446:25) console.log("Check 2")从不运行,脚本的其余部分将被忽略。 我不应该需要互联网连接来需要的东西,所以我很困惑,这里有什么问题。 一些其他的require()语句也会发生这个错误,但不是全部。 例如, require('nw.gui')工作正常。 我如何在没有Internet连接的情况下使用require() […]

Node-Webkit在不同的窗口启动function

我的node-webkit应用程序由一个控制窗口和一个演示窗口组成。 控制窗口收集数据,并最终通过window.open函数启动演示窗口。 演示窗口现在可以访问globalvariables中的一些信息。 现在我想通过创buildSVG元素等来呈现该信息的graphics表示。 我已经有一个JavaScript函数来做到这一点,但我需要从控制窗口启动该function的一些方法。 我不能直接调用它,因为函数必须访问其他窗口的DOM。 我已经尝试在另一个窗口的对象上使用eval函数,但是使用消息崩溃了node-webkit [18719:0522/205047:ERROR:breakpad_linux.cc(1225)] crash dump file written to /tmp/chromium-renderer-minidump-788bf8d0c68301d5.dmp 什么是最好的方法来做到这一点? 使用setInterval定期检查一个全局variables?

从node-webkit访问USB设备?

我正在构build一个需要在所有3个主要桌面环境(windows,mac和linux)上运行的node-webkit应用程序,我需要我的应用程序连接到一个插入的USB设备,而且我正在处理一些问题如何去做这件事。 是否有一个npm可以在所有操作系统上运行? 我可以得到一个build立在C + +的工作吗? 有没有什么内置的node-webkit与设备交互(设备API?) 提前致谢。

Node-Webkit子产生UNKNOWN错误

我正试图在我的Windows文件系统的其他地方启动一个.exe。 spawn = require('child_process').spawn; game.process = spawn(path.join(config.values.armaPath, 'arma3.exe'), { detached: true }); 我已经把它包装在一个try / catch中,我得到的错误是没有帮助的: Error {code: "UNKNOWN", errno: "UNKNOWN", syscall: "spawn", stack: (…), message: "spawn UNKNOWN"}code: "UNKNOWN"errno: "UNKNOWN"message: "spawn UNKNOWN" 我已经确认path.join到.exe是正确的。 我也试过了 game.process.stdout.on('error'… 但永远不会发生。 编辑,我也试过另一种方法: var child = execFile(path.join(config.values.armaPath, 'arma3.exe'), function(error,stdout,stderr) { if (error) { console.log(error.stack); console.log('Error code: '+ error.code); console.log('Signal received: '+ error.signal); […]

在远程托pipe的node-webkit应用程序中使用require()

我有一个package.json文件,如下所示: { "name": "title", "description": "description", "version": "0.1", "main": "https://path-to-application/", "window": { "show": true, "toolbar": false, "frame": true, "position": "center", "width": 800, "height": 600, "min_width": 220, "min_height": 220 } } 但是当我尝试运行代码时: var GUI = null; var win = null; try { GUI = require('nw.gui'); win = GUI.Window.get(); } catch (ex) { } win.toggleFullscreen(); 没有任何反应,为graphics用户界面添加警报,赢得节目都设置为空。 当我从package.json的.zip中运行相同的代码的index.html文件,它按预期工作。 […]