简介
NW.js 基于 Chromium 和 Node.js 创建桌面应用程序的框架. NW.js 利用 Web 技术结合 Node.js 及其模块进行桌面应用开发。在最简单的情况下,可以使用常规 Web 工作流程来开发 Web 应用。最后使用生成器将所有内容编译为一个桌面应用,然后像浏览器一样使用。
特性
- 使用 HTML5、CSS3 和 WebGL 等 web 技术,编写原生应用的新途径
- 全面支持所有浏览器特性
- 全面支持 Node.js 的 API 及所有第三方模块
- 可以从 DOM 和 Web Worker 层面,调用 Node.js 的模块
- JavaScript 源码保护
- 一次编写,就可以运行在多平台上,包括:Linux、Mac OS X 和 Windows
快速入门
项目结构
首先我们新建一个目录 nw-start
及项目结构和文件。
nw-start/
├── src/
│ ├── app/
│ │ └── index.js
│ ├── styles/
│ │ └── common.css
│ ├── views/
│ │ └── index.html
│ └── package.json
└── package.json
快速开始
这里要注意一点,对于 NW 而言需要一个项目的描述文件 package.json
,和 npm 的描述文件重名,这里需要区别理解。
在 src/
目录下创建 package.json
作为项目的描述文件,具体配置项可以查看这里。
{
"name": "NWStart", /* APP 名称, 必选 */
"description": "Simple file.",
"version": "0.1.0",
"main": "index.html", /* APP 主入口, 必选 */
"window": { /* APP 窗口属性 */
"toolbar": false,
"width": 600,
"height": 600
}
}
在 src/views/
目录下创建 index.html
,作为入口。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="../styles/common.css">
</head>
<body>
<h1>NW.js</h1>
<script src="../app/index.js"></script>
</body>
</html>
安装 NW.js
有多种方式安装 SDK,这里我们使用 npm 包调用。
npm install -D nw nw-builder
添加 script
"scripts":{
"dev":"nw src/",
"build":"nwbuild --platforms win64,osx64,linux64 --buildDir dist/ src/"
}
运行
执行开发命令。
npm run dev
可以看到一个桌面应用成功跑起来了。
打包
这里我们使用 nw-builder
,它支持Windows,Linux和macOS的输出,在我们的示例中,我们为所有这些平台构建了一个64位版本的软件包。
执行打包命令。
npm run build
执行完成后,查看 dist/
目录,可以看到打包后的文件
dist/
└── nw-start/
├── linux32/
├── linux64/
├── osx64/
├── win32/
└── win64/
至此,我们已经成功跑通 nw.js 的全链路了。