1 Обзор
nwjs
основывается наChromium
а такжеNode.js
работает, мы можем пройтиhtml
+css
написатьUI
Страница использует js для реализации функции. можно вызвать напрямуюNode.js
видыapi
а также существующие сторонние пакеты.
из-заChromium
а такжеNode.js
кроссплатформенным, то ваше приложение также может быть кроссплатформенным.
Уже есть много известных приложений на базе NW.js, вот несколько списков официальной статистики:https://github.com/nwjs/nw.js/wiki/List-of-apps-and-companies-using-nw.js
.
Знакомые инструменты разработчика WeChat в области внешнего интерфейса основаны наnwjs
развивающийся.
Центр документации СЗ:https://nwjs.org.cn/
2. Начало работы
Вы можете скачать прямо из Интернетаnw
версииhttps://nwjs.org.cn/download.html
также можно использоватьnpm
Установить.
Разархивируйте загруженный архив, вы можете изменить имя разархивированной папки или создать новую папку для хранения разархивированных файлов.copy
входить. По сути, главный полезный документ — этоnw
Выполните программу, пока этого достаточно.
затем вnw
Создайте новый каталог на том же уровне, что и программа для выполненияpackage.json
документ. В нем задайте имя приложения и запустите выполнениеhtml
страница. Затем создаем новый в папкеindex.html
package.json
Напишите имя приложения и страницу запуска в файле .
{
"name": "我的应用", // 名称
"main": "index.html", // 启动页面
}
существуетhtml
Напишите что-нибудь в файле.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>我的应用</title>
</head>
<body>
我的应用程序
</body>
</html>
Двойной кликnwjs
Выполните эту программу, страница будет расти вот так.
3. Конфигурация приложения
Далее мы вводимpackage.json
Какие параметры можно настроить в
{
"name": "应用的名称", // 应用的名称
"main": "./index.html", // 指定应用的主页面
"build": "1445048139741", // 这是为了给更新时判断版本用的时间戳
"version": "0.0.1",// 当前的版本号
"homepage": "一般是官网地址之类的",
"description": "应用的描述", // 描述
"window": {
"title": "应用打开时候显示的名称", // 如果 index.html没有title,则会显示这里的值
"icon": "assest/img/logo.png", // icon
"position": "center", // 打开应用时在浏览器屏幕中的位置
"width": 1280, // 应用的宽度
"height": 680, // 应用的高度
"toolbar": true, // 是否隐藏窗口的浏览器工具栏,nw老版本还有用,新版本已经无效了
"frame": true, // 是否显示最外层的框架,设为false之后 窗口的最小化、最大化、关闭 就没有了
"resizable": true, // 可以通过拖拽变换应用界面大小
"min_width": 1028 // 最小宽度
},
"node-main": "./node-main.js",// 启动时执行的js,检查更新之类的。
}
На самом деле здесьpackage.jso
n — это файл управления проектом в нашем ежедневном проекте разработки, мы можем передатьnpm
илиyarn
способ установить сторонние зависимые пакеты, а затем передатьrequire
Способ импорта, его также можно использовать здесь.
Например, мы проходимnpm
установить одинmarked
модуль.
npm install marked --save-dev
{
"name": "我的应用",
"main": "index.html",
"devDependencies": {
"marked": "^1.2.5"
}
}
затем вhtml
серединаscript
прошедшийrequire
Загрузите этот модуль и используйте этот модуль, чтобы избежать предложения на странице.markedown
.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>我的应用</title>
</head>
<body>
<div id="content"></div>
<script>
const marked = require('marked'); // 加载marked模块
document.getElementById('content').innerHTML = marked('# Marked in the browser\n\nRendered by **marked**.');
</script>
</body>
</html>
Эффект следующий:
4. Разработка и отладка
новая версияnw
Адресной строки нет, и консоли нет, что доставит большие неудобства в процессе разработки, но это тоже легко решается, можно воспользоваться Tencent'svconsoleдля отладки кода.
представлятьvconsole.js
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>我的应用</title>
</head>
<body>
<script src="https://cdn.bootcss.com/vConsole/3.3.4/vconsole.min.js"></script>
<script>
var vConsole = new VConsole();
console.log('Hello world');
</script>
</body>
</html>
5. Упаковка программного обеспечения
еслиmac
система, упаковка относительно проста,package,html
Папка, в которой находятся ресурсы, сжата вzip
,Уведомлениеnwjs
Не сжимайте исполняемую программу, иначе размер пакета будет слишком большим, а затем измените имя файлаapp.nw
, обратите внимание, что суффикс здесь изменен наnw
.
затем вnwjs
щелкните правой кнопкой мыши файл显示包内容
-> Contents
-> Resources
, вышесказанноеapp.nw
Файл вставлен, и естьapp.icns
Это значок дисплея нашего программного обеспечения, вы можете сделать его и заменить самостоятельно. Таким образом, наше программное обеспечение только закончено и может быть отправлено другим для использования.
windows
Метод упаковки системы относительно хлопотный, прежде всегоpackage,html
Папка, в которой находятся ресурсы, сжата вzip
, измените суффикс наapp.nw
, а затем нужноnw.exe
а такжеapp.nw
объединить в одну папку. Вы можете использовать следующую команду для работы.
copy /b nw.exe+app.nw app.exe
тогда вы можете скачатьEnigma Virtual Box
Упакуйте файлы в пакет. Сменный программный дисплейicon
доступны с помощьюzip
Способность.
程序
-> 添加到压缩文件
-> zip
, 存储(方式)
, 创建自解压
-> 高级
-> 自解压选项
->
设置
-> 提取后运行(添加文件名.exe)
-> 模式(解压到临时文件夹, 全部隐藏)
->
更新(覆盖所有文件)
-> 文本和图标(从文件加载自解压文件图标)
-> 确定
.
На этом этапе упакованное приложение может быть отправлено пользователю для использования.
На данный момент мы можем разработать наши настольные инструменты.Я разработал следующий инструмент.
Ну, это не похоже на инструмент, забудь, кому какое дело, играй в Контру онлайн с товарищами по команде...