开始 NW.js

1,355 阅读2分钟

简介

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 的全链路了。

参考