首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    用NW.js构建跨平台桌面应用(1)-入门案例

    NW.js的用途 NW.js 基于 Chromium 和 Node.js,从而可以在桌面app中使用浏览器开发技术并直接调用 Node.js 资源,甚至将一个web应用打包到本地也轻而易举。.../path/to/nw 是 NW.js 的二进制运行文件; 在Windows上是nw.exe,在Linux上是nw,而在Mac则是nwjs.app/Contents/MacOS/nwjs Linux和Mac...Web2Executable 运行下载的图形界面程序,选定项目目录 程序会根据项目中的 package.json 自行填好 "App Settings" 和 "Window Settings" 两个界面中的内容...,可自行补充 在 "Export Settings" 中,选择要发布的平台种类,屏蔽一些无用文件等 在 "Compression Settings" 中,选择压缩级别;高压缩级别会带来相应的启动时间变长...,并可能造成打包后的程序运行失败 在 "Download Settings" 中,将第一步中下载的“非sdk版程序包的.zip文件”所在的目录,填入"Download location",并且不勾选"SDK

    4.7K20

    用NW.js构建跨平台桌面应用(2)-原生界面API

    而前面提到的两者,要么无法访问GUI,要么受限于API边界,均无法提供 NW.js Native UI APIs 则在其他JS层的顶部提供了这些完整的功能 1.1 获取nw实例 旧版本中可以用 var...,可以用App.dataPath属性统一取得其路径 实际取得的值( 表示manifest文件中配置的应用名 ): - Win: $LOCALAPPDATA%/ - Linux: ~/.config...Window API - 操作NW.js窗口 在NW.js中,Window API 只不过是对DOM中window对象的一层包装,很多(并非所有)方法和属性继承了后者的用法,同时window对象也是 Node.js...Menu API - 菜单栏和右键中的菜单 NW.js中,共有三种类型的菜单: 上下文菜单:右键单击应用内的元素时 窗口菜单:在Windows或Linux中,每个窗口上方都可以有自己的菜单栏;==在Mac...(这些图标在不同平台叫法不同,Mac中叫做 Status Item, 一些Linux中叫做 Status Icon, Windows 中叫做 System Tray Icon) // 创建一个托盘图标

    7.8K40

    用NW.js构建跨平台桌面应用(4)-数据持久化

    与web开发中主要将数据保存在服务器端不同(cookie中仅保存极少量信息且会过期),数据持久化(Data Persistence)是本地应用开发中的常见需求,通俗的讲就是将瞬时数据(比如内存中的数据,...断电即失效)保存为持久数据(比如写入数据库中长久保存); 由于NW.js的特性,可供选择的本地持久化方案非常丰富,既可以依赖于Node.js直接使用NeDB、LowDB等第三方数据库方案,也可以使用HTML5...直接存储数据到本地文件 正如之前的文章提到过的,NW.js提供了App.dataPath来访问系统的应用数据目录, 可以利用其方便的存储应用配置文件等 不同平台上的具体指向: Win: $LOCALAPPDATA...%/ Linux: ~/.config/ Mac: ~/Library/Application Support/ var fs = require('fs'); var path = require...) }); db.get('mittens').then(function (doc) { return db.remove(doc); }); https://github.com/nwjs/nw.js

    2.4K20

    用NW.js构建跨平台桌面应用(3)-利用Node.js

    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...中的global对象除了Node.js中的作用,还能使用DOM,这样就提供了一个 在窗口和Node.js上下文中共享对象 的途径;此外,一旦window对象被创建,所有global对象中的成员也会被自动指定到前者上...中打印值为Foo;因为此时为页面跳转 如果在index.html中nw.Window.open('newWindow.html'), 则newWindow.html中打印值仍为Hello;除非先 global.window...var path = require('path'); var desktopPath; switch (process.platform) { case 'darwin': case 'linux

    2.7K20

    Linux—Linux中的权限管理

    前言 在Linux系统中,权限管理是系统安全和资源管控的基石。...Shell对于Linux具有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核,反馈结果再通过内核运行出结果,通过Shell解析给用户。...二、Linux中的权限概念 在Linux下有两种用户,分别是超级用户(root)和普通用户。...三、Linux中的权限管理 1、文件访问者的分类(人) 对于用户来说,权限可以将用户分为三大类: 文件和文件目录的所有者(文件拥有者)。 文件拥有者所在的组的用户(文件所属组)。...可读权限: 如果用户没有该目录的可读权限,则无法通过ls指令查看目录中的文件内容。 可写权限: 如果用户没有该目录的可写权限,则无法通过一系列指令在目录中创建文件或删除文件。

    17910

    【Linux】关于Linux中的权限

    而Linux的文件类型和后缀无关(后缀名可以作为提示,用户可以使用后缀区分文件类型),但是对linux来说区分文件和文件本身的后缀是无关的(但是gcc等工具对文件后缀可能有要求)。...开始之前,我们输入ll指令,来看看前面10个字符代表什么意思: 在linux中,是通过ll显示的众多属性列中的第一列的第一个字符来区分文件类型的。...则无法用ls等命令查看目录中的文件内容....可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件 所以这也是为什么系统规定目录的起始权限从777开始,所有的目录被创建出来,一般都要能够被进入 换句话来讲, 就是只要用户具有目录的写权限..., 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写权限。

    8.3K20

    linux udp编程_linux中socket编程

    在前面的文件中,我们介绍了linux网络编程中与IP相关的知识和常用的函数总结,本文针对具体的UDP通信,来详细的介绍UDP通信的使用,包括UDP通信中的点对点通信,多播,广播等。...2、在上面的通信框架中,客户端并没有使用bind的操作,确实如此,因为客户端一般作为通信的发起者,都是主动往外发送数据,如1中的描述,这个过程由系统聪明的帮我们记录的端口信息,当服务端有数据回复的时候,...3、关于服务端的bind操作,在存在组播,多播等多种通信方式的情况下,也还有一些需要注意的点,这个我们在下面的章节中描述 二、UDP通信的基本函数说明 在UDP中,完成一个基本的通信涉及到的几个函数如下...IP信息,addr_size存放addr数据的长度,但是,在实际使用中,这样调用后,我们打印addr中的信息,确实一个错误的IP信息或者0.0.0.0这样的地址信息,这是什么原因呢,在那个男人的中的描述...但是我们在实际的使用中,通常只是某些主机对通信数据感兴趣,而不是整个局域网上的所有主机都需要这个数据,这种情况就需要组播登场了。 3.1、组播中的IP地址 组播的地址是特定的,D类地址用于多播。

    13.3K10

    Linux 在 linux 中搭建 FTP 服务

    service vsftpd restart # 关闭ftp服务 service vsftpd stop ---- 配置FTP服务 多数的VSFTPD配置项都在/etc/vsftpd.conf配置文件中。...这个文件本身已经有非常良好的文档说明了,因此,在本节中,我只强调一些你可能进行修改的重要选项。...使用man页面查看所有可用的选项和基本的 文档说明: man vsftpd.conf 根据文件系统层级标准,FTP共享文件默认位于/srv/ftp目录中。...write_enable=YES 允许本地(系统)用户登录: 为了允许文件/etc/passwd中记录的用户可以登录ftp服务,“local_enable”标记必须设置为YES。...在配置文件中增加/修改下面配置开启根目录限制(Chroot Jail): chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list

    15.8K20
    领券