nw.js如何处理拖放操作 其实拖放(drag-drop)操作是Html5的功能,不是nw.js的内置API,那么我们采用Html5应用一般的处理方法就可以了。...nw.js会按照chrome浏览器默认处理文件的方式来处理拖放的文件,能显示的会直接显示,不能显示的会变成资源下载。 这肯定不是桌面应用想要的效果,那么Html5是如何处理拖放的呢?
默认情况下,nw.js发布的nw.exe文件请求的是普通权限,当我们的应用需要访问一些特殊目录或者注册表等,就需要程序启动的时候以管理员权限运行。...首先我们找一款使用nw.js开发的软件,这里我推荐AxeSlide,首先去下载软件,安装。...{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"> 从上面的配置中找到...uiAccess="false"> 这里requestedExecutionLevel就是配置的请求
NW.js的用途 NW.js 基于 Chromium 和 Node.js,从而可以在桌面app中使用浏览器开发技术并直接调用 Node.js 资源,甚至将一个web应用打包到本地也轻而易举。...安装NW.js 可以从官网下载; 推荐在开发时下载是sdk版,以使用DevTools 非sdk版也应同时下载,在发布时使用 写一个 Hello World!...title> Hello NWJS~ == 右键单击可看到菜单 == //此处演示调用`NW.js...You are running on ' + os.platform() + ''; 运行NW.js.../path/to/nw 是 NW.js 的二进制运行文件; 在Windows上是nw.exe,在Linux上是nw,而在Mac则是nwjs.app/Contents/MacOS/nwjs Linux和Mac
中仅保存极少量信息且会过期),数据持久化(Data Persistence)是本地应用开发中的常见需求,通俗的讲就是将瞬时数据(比如内存中的数据,断电即失效)保存为持久数据(比如写入数据库中长久保存); 由于NW.js...直接存储数据到本地文件 正如之前的文章提到过的,NW.js提供了App.dataPath来访问系统的应用数据目录, 可以利用其方便的存储应用配置文件等 不同平台上的具体指向: Win: $LOCALAPPDATA...) }); db.get('mittens').then(function (doc) { return db.remove(doc); }); https://github.com/nwjs/nw.js
在实际的NW.js程序开发中,我们可能在程序启动时做一些加载前逻辑,比如更新等等,那如何实现等待这些逻辑完成后才开始加载index.html呢?
用来关联每个用户及每个程序,以保存个人设置、应用支持文件,以及某些特定数据;为了避免在程序中硬编码每个平台的对应文件夹,可以用App.dataPath属性统一取得其路径 实际取得的值( 表示manifest文件中配置的应用名...Win: $LOCALAPPDATA%/ - Linux: ~/.config/ - Mac: ~/Library/Application Support/ //保存配置文件到...saved = JSON.parse(data); console.log(saved); }); 2.3 访问manifest文件 正如上一篇中介绍的,应用使用package.json作为主配置文件...Window API - 操作NW.js窗口 在NW.js中,Window API 只不过是对DOM中window对象的一层包装,很多(并非所有)方法和属性继承了后者的用法,同时window对象也是 Node.js...win.leaveKioskMode(), win.toggleKioskMode() 对应的事件仍是 'enter-fullscreen' 和 'leave-fullscreen' 也可以在在manifest配置
Node.js常用来构建高并发的C/S应用,将这种模式移植到NW.js程序中虽然可行且费不了什么功夫,但仅仅这样做并不能发挥出平台所有的潜力;要知道NW.js允许直接在DOM中和Node.js交互,而这将大大加快程序的运行和简化开发...模块 内部模块 var fs = require('fs') 第三方模块 npm install 之后 var _ = require('underscore') C/C++ 模块 global对象 NW.js...process也是一个在窗口中和Node.js上下文中都可以访问到的全局对象 除了可以访问固有的 process.env.HOME 得到主目录等,还添加了如下属性: process.version['NW.js...'] process.version['chromium'] process.mainModule //获得起始页或起始模块(由配置文件中的main或node-main指定) window对象 一旦所有初始化工作完成
代理转发 在开发阶段,我们可以使用vue中的dev模块中的proxyTable进行路径的重写和代理的转发 在build的时候 我们可以手动配置 访问路径 或者使用express做一下配置 类似于我们将代码...nw.js就是使HTML, CSS, JavaScript写的原本在浏览器上运行的程序,也可以在桌面端运行。...它负责创建可执行文件,附加应用程序图标并相应地配置plist文件。...= 3.0.0" }, "browserslist": [ "> 1%", "last 2 versions", "not ie <= 8" ] } 说一下命令行配置...的版本 optional options:可选选项 字段里的 项目名字,version,icon路径要改成自己的; electron的打包(将electron集成在vue中) 命令行配置
2 nw.js工具 nwjs官网下载 nw.js的github地址 nw.js的使用流程: 测试可用 解压下载包后,双击nw.exe,可以正常启动,则说明可以使用node-webkit。...其中,package.json相当于是配置文件,配置项如下: { "main": "index.html", //入口 "name": "nw-demo",//字符串必须是小写字母或者数字,可以包含...但package.json 必须和nw.exe同级,这时候就要注意配置项的 "main": "....nw.exe 由于package.json已经配置好入口,此处再启动nw.exe时,你会发现,已经直接指向index.html页面了。...参考文章: 让HTML网页变成一个exe执行程序(node-webkit或HTMLRunExe或hta) NW.js构建桌面应用
---- 一、使用 NW.js 打包 NW.js基于Chromium和Node.js。它允许您直接从浏览器调用Node.js代码和模块,并在应用程序中使用Web技术。...官网:NW.js 官网 优点:免开发、门槛低、体积小 1.1 下载、解压 NW.js 1.1.1 下载 NW.js 进入 NW.js 官网,点击下载最新版,如下图所示。...1.1.2 解压 NW.js 接着我们将压缩包解压到指定目录,解压成功后如下图所示。...当然如果需要完整功能,比如窗口大小、是否全屏、顶部图标、是否固定任务栏等,可以参考如下的配置文件,并在 1.2.1 步骤配置。 { /**指定程序的起始页面。...2.2.2 安装依赖、编译项目 若你的电脑没有配置 node.js 和 Vue 脚手架,或者不知道如何安装 VsCode,可以移步 Vue 环境配置讲解。
1、下载nw.js https://nwjs.io/ 最好下载sdk版本。 2、解压打开安装包 下载完之后,解压打开 图中的app文件夹是我自己创建的,你也需要自己创建一个,里面放你项目文件。...app文件夹中一般放一个index.html(页面展示),另外还需要创建一个package.json文件(参数配置): { "name": "first app",...下载链接打开它,选中app.exe然后将你刚才下好的nw.js里原始文件(除去你自己生成和创建的文件或文件夹)。
1、下载nw.js https://nwjs.io/ 最好下载sdk版本。 2、解压打开安装包 下载完之后,解压打开 图中的「app文件夹」是我自己创建的,你也需要自己创建一个,里面放你项目文件。...「app文件夹」中一般放一个index.html(页面展示),另外还需要创建一个package.json文件(参数配置): { "name": "first app",...下载链接打开它,选中「app.exe」然后将你刚才下好的nw.js里原始文件(除去你自己生成和创建的文件或文件夹)。
找了一圈发现NW.js挺容易上手,分享给大家。...NW.js 官网https://nwjs.io/ 1.下载适合当前版本的js 【这里下载的SDK版本,方便后续调试】 2.解压到本地 3.构建自己的project index.html...4.把项目放到nw.js解压后的同一目录下 5.命令进入到当前文件夹 输入 nw myapp 也可以直接把项目拖到nw.exe 6.将应用打包成app.nw文件,进入myapp文件夹中
Windows, macOS, Linux 中等 HTML, CSS, JavaScript 社区支持 一般 中等 NW.js社区 中等 较大 较大 高 性能相对其他框架较低,内存占用高 中等 NW.js...nw.js NW.js(以前称为Node-Webkit)是一个基于Chromium和Node.js的框架,用于构建跨平台的桌面应用程序。...NW.js具有以下特点: 跨平台支持:NW.js可以在多个操作系统上运行,使开发者能够使用相同的代码库构建跨平台的桌面应用程序。...社区支持:NW.js拥有一个积极的开发者社区,提供丰富的文档和示例,使开发者能够快速上手并解决问题。...然而,NW.js也存在一些挑战,包括: 性能相对其他框架较低:由于NW.js同时运行Chromium和Node.js,可能导致一些性能方面的挑战,例如初始启动时间较长和内存占用较高。
它对Chromium封装的很好,避免了开发者直接与Blink、V8、Chromium等复杂的代码打交道, 很多功能都有默认实现方式,遵从约定由于配置原则,有经验的C++开发者可以很轻松的驾驭CEF框架。...webview框架碰到的问题TAURI都有, 使用Rust开发,将来会支持Deno,作者说将来会直接使用webview的技术来支持多平台, NW.js https://nwjs.io/ NW.js最早把...NW.js基于MIT开源,可以无忧使用。 微信小程序开发工具是用NW.js开发的。作者是英特尔的员工,英特尔的一些工具也是用NW.js开发的。...NW.js可以在多个窗口间共享同一个Node.js上下文,而且还可以通过配置让Node的上下文和Dom上下文混合,这给开发者带来了很多便利。心智负担减少很多。...Electron https://www.electronjs.org/ Electron的作者曾经在NW.js团队工作过(NW.js项目贡献第二多的人就是Electron的作者), 后来辗转到了github
用它的人很多,但是大部分人都把它当成黑箱——你把文件放到某个地方,在配置文件里写一些神奇的单词,然后见证奇迹。Webpack的打包机制如何工作?不同的配置项如何影响输出结果?如何调试和优化打包过程?...孟红伦(云际):如何用JavaScript做好一个大型应用 钉钉是国内企业级市场的领军应用,是一个业务逻辑复杂,实时性要求极高的应用,是国内用户量最大使用nw.js构建的桌面应用。...我们基于nw.js,使用Web技术,持续高速迭代了三年,帮助产品快速占领了市场,目前超过10W行代码,依然保持高速迭代,快速稳健的演进支持瞬息万变的市场竞争,来看钉钉是如何做的。
经过笔者的查找发现确实存在这个一样框架,那就是nw.js这个框架。这个框架使用了谷歌浏览器的内核,而该框架的其中一个功能就是可以直接在前端页面中调用node.js代码。...到这里我们就可以还原一个猜测可行的漏洞利用链如下:1.某个漏洞扫描器使用nw.js框架来显示应用的页面。2.该漏洞扫描器通过x-powered-by这个头部来获取扫描目标的版本信息。...3.该漏洞扫描器在某个页面中将获取到的版本信息未经过滤及其他处理直接显示在nw.js框架编写的页面中。...4.由于nw.js框架编写的页面会直接触发xss,导致xss payload中的onerror方法触发,加载远程的node.js代码。...5.由于nw.js框架中可以直接执行node.js对应的代码,导致node.js代码直接执行。6.node.js代码下载恶意文件在主机上获取敏感信息用于溯源攻击者。
经过笔者的查找发现确实存在这个一样框架,那就是nw.js这个框架。这个框架使用了谷歌浏览器的内核,而该框架的其中一个功能就是可以直接在前端页面中调用node.js代码。...到这里我们就可以还原一个猜测可行的漏洞利用链如下: 1.某个漏洞扫描器使用nw.js框架来显示应用的页面。 2.该漏洞扫描器通过x-powered-by这个头部来获取扫描目标的版本信息。...3.该漏洞扫描器在某个页面中将获取到的版本信息未经过滤及其他处理直接显示在nw.js框架编写的页面中。...4.由于nw.js框架编写的页面会直接触发xss,导致xss payload中的onerror方法触发,加载远程的node.js代码。...5.由于nw.js框架中可以直接执行node.js对应的代码,导致node.js代码直接执行。 6.node.js代码下载恶意文件在主机上获取敏感信息用于溯源攻击者。
经过观察发现,那个开发者工具实际上是基于nw.js开发的,天然地具有跨平台的属性,搜索Github的时候刚好发现这个项目: cytle/wechat_web_devtools: 微信开发者工具(微信小程序...)linux完美支持 于是我按照README的教程装好 Wine,运行脚本配置安装。...interpreter xxxxxxx 文档给出的解决办法是,安装一个 wine-binfmt 包,当我敲下 sudo apt install 之后尴尬的发现, Ubuntu 16.04 LTS 缺失了这个包,想到配置各种下载源...Adding binfmt configuration to official Wine packages,整理了一个相关的解决方案,只需要手动添加一个解析 Windows 的 exe 的 binfmt 配置就可以了...具体的操作如下: vim /usr/share/binfmts/wine 内容填入 package wine interpreter /usr/bin/wine magic MZ 保存退出,更新一下配置就好了
可以将这些对话框配置为允许操作系统只选择具有特定文件扩展名的文件、整个目录或多个文件。你可以拖拽文件到Electron应用程序并触发不同的操作。...NW.js Electron与另一个名为NW.js(以前称为node-webkit)的项目类似。这两者有很多共同之处。...表1.1 Electron和NW.js之间的主要区别的比较 Electron NW.js 平台 支持官方最新的Chromium版本 Chromium分支版本 进程模型 分离进程模型 共享Node进程...电子还包括自动下载更新和错误崩溃上报,NW.js不支持。 NW.js应用程序从HTML页面启动,每个浏览器窗口共享一个Node 进程。如果打开多个窗口,它们都共享同一个Node进程。...Electron与NW.js的不同之处在于,它使用的是Chromium官方支持的内容模块。而NW,使用定制的Chromium。
领取专属 10元无门槛券
手把手带您无忧上云