packer 是nodegui 团队提供的专门用来打包noodegui 应用程序的工具

安装packer

  • yarn 方式安装
yarn add @nodegui/packer
  • 效果
[fsevents] Success: "/Users/dalong/Documents/GitHub/nodegui-starter/node_modules/fsevents/lib/binding/Release/node-v72-darwin-x64/fse.node" is installed via remote
> @nodegui/nodegui@0.1.8 install /Users/dalong/Documents/GitHub/nodegui-starter/node_modules/@nodegui/nodegui
> npm -v
6.9.0
> @nodegui/qode@1.0.4 postinstall /Users/dalong/Documents/GitHub/nodegui-starter/node_modules/@nodegui/qode
> node install.js
Local Qode 1.0.4 archive doesnt exists... Copying Qode from cache...
Extracting binaries...
> @nodegui/nodegui@0.1.8 postinstall /Users/dalong/Documents/GitHub/nodegui-starter/node_modules/@nodegui/nodegui
> npm run build:addon
> @nodegui/nodegui@0.1.8 build:addon /Users/dalong/Documents/GitHub/nodegui-starter/node_modules/@nodegui/nodegui
> node-gyp -j 8 configure build
  CC(target) Release/obj.target/nothing/../../node-addon-api/src/nothing.o
  TOUCH 8d54a0613d50a84adae49a5312f848b52b1b3ed9.intermediate
  ACTION binding_gyp_qtnode_target_symlink_qt_headers 8d54a0613d50a84adae49a5312f848b52b1b3ed9.intermediate
  LIBTOOL-STATIC Release/nothing.a
  CXX(target) Release/obj.target/qtnode/src/cpp/main.o
  CXX(target) Release/obj.target/qtnode/src/cpp/Extras/Utils/nutils.o
  CXX(target) Release/obj.target/qtnode/src/cpp/core/FlexLayout/flexlayout.o
  CXX(target) Release/obj.target/qtnode/src/cpp/core/FlexLayout/flexitem.o
  CXX(target) Release/obj.target/qtnode/src/cpp/core/YogaWidget/nodestyle.o
  CXX(target) Release/obj.target/qtnode/src/cpp/core/Events/eventsmap.o
  CXX(target) Release/obj.target/qtnode/src/cpp/core/Events/eventwidget.o
  CXX(target) Release/obj.target/qtnode/src/cpp/core/YogaWidget/yogawidget.o
  CXX(target) Release/obj.target/qtnode/src/cpp/QtGui/QApplication/qapplication_wrap.o
  CXX(target) Release/obj.target/qtnode/src/cpp/QtGui/QClipboard/qclipboard_wrap.o
  CXX(target) Release/obj.target/qtnode/src/cpp/QtGui/QEvent/QKeyEvent/qkeyevent_wrap.o
  CXX(target) Release/obj.target/qtnode/src/cpp/QtGui/QPixmap/qpixmap_wrap.o
  CXX(target) Release/obj.target/qtnode/src/cpp/QtGui/QIcon/qicon_wrap.o
  CXX(target) Release/obj.target/qtnode/src/cpp/QtGui/QCursor/qcursor_wrap.o
  CXX(target) Release/obj.target/qtnode/src/cpp/core/FlexLayout/flexlayout_wrap.o
  CXX(target) Release/obj.target/qtnode/src/cpp/QtWidgets/QWidget/qwidget_wrap.o
  CXX(target) Release/obj.target/qtnode/src/cpp/QtWidgets/QGridLayout/qgridlayout_wrap.o
  CXX(target) Release/obj.target/qtnode/src/cpp/QtWidgets/QDial/qdial_wrap.o
  CXX(target) Release/obj.target/qtnode/src/cpp/QtWidgets/QLabel/qlabel_wrap.o
  CXX(target) Release/obj.target/qtnode/src/cpp/QtWidgets/QLayout/qlayout_wrap.o
  CXX(target) Release/obj.target/qtnode/src/cpp/QtWidgets/QMainWindow/qmainwindow_wrap.o
  CXX(target) Release/obj.target/qtnode/src/cpp/QtWidgets/QPushButton/qpushbutton_wrap.o
  CXX(target) Release/obj.target/qtnode/src/cpp/QtWidgets/QSpinBox/qspinbox_wrap.o
  CXX(target) Release/obj.target/qtnode/src/cpp/QtWidgets/QCheckBox/qcheckbox_wrap.o
  CXX(target) Release/obj.target/qtnode/src/cpp/QtWidgets/QProgressBar/qprogressbar_wrap.o
  CXX(target) Release/obj.target/qtnode/src/cpp/QtWidgets/QRadioButton/qradiobutton_wrap.o
  CXX(target) Release/obj.target/qtnode/src/cpp/QtWidgets/QLineEdit/qlineedit_wrap.o
  CXX(target) Release/obj.target/qtnode/src/cpp/QtWidgets/QPlainTextEdit/qplaintextedit_wrap.o
  CXX(target) Release/obj.target/qtnode/src/cpp/QtWidgets/QScrollArea/qscrollarea_wrap.o
....
 

打包应用

具体应用可以参考https://www.cnblogs.com/rongfengliang/p/11487743.html

  • 初始化应用
npx nodegui-packer --init dalongdemo

效果:

  • 打包应用
npx nodegui-packer --pack ./dist

效果

  • 运行应用

说明

如果大家对于桌面性能要求比较高,同时还希望使用web 的方式开发跨平台的桌面应用nodegui 是一个不错的选择

参考资料

https://github.com/nodegui/packer
https://github.com/nodegui/nodegui.git
https://nodegui.github.io/nodegui/#/

使用packer 打包nodegui 应用的更多相关文章

  1. BoxedApp Packer 将您的原始应用“打包”成单个完全的可执行二进制文件

    及时应对移动化趋势 在没有安装到本地硬盘驱动的情况下,使用闪存卡.网络文件夹或者可移动磁盘远程启动应用程序通常是一件令人头疼的事,你会发现,应用程序会突然会丢失文件.路径错误或者远程注册表故障等一系列 ...

  2. unity 查看打包资源占用

    想要压缩包大小,首先得知道打包出来的各个资源的大小,明确知道哪些资源占用大,可以通过如下操作打开Editor.log(可能需要先输出一遍安卓包) 1.在Unity Console界面右上角点开Open ...

  3. Unity4.6 UGUI 图片打包设置(小图打包成图集 SpritePacker)

    版权声明:本文转自http://blog.csdn.net/huutu 转载请带上 http://www.liveslives.com/ 在学习UGUI的过程中,一直使用小图也就是散图,一个按钮一个图 ...

  4. Unity3d的Sprite Packer用法介绍

    我们用来做sprite 的图片,通常会留有很多空白的地方,我们在画完了sprite之后,这些地方很可能就没有什么作用了.如果想避免这些资源上的浪费,我们可以把各个sprite做成图集,把图片上的空间尽 ...

  5. PetGenie

    大概六.七年前当我还在学 Asphyre 的时候,有看过一个以之编写的类似对对碰的“宠物对对碰”小游戏,虽然很简单,但我当时还是小小的沉溺过数个小时.而不久前,在闲逛论坛时无意看到了个以 FireMo ...

  6. web开发必须知道的javascripat工具

    1,JavaScript compressor and comparison tool 有许多工具可以帮助你压缩JavaScript代码,但是这个过程比较耗时,并且,对于某个特定的场景来说,很难分析出 ...

  7. Unity3D NGUI,uGUI总结

    跪求官方UI系统(2014年11月底已出,用原生的比用NGUI放心) uGUI注意点 1.要防止多个canvas叠加点击穿透,canvas里面的graphics raycaster调整到恰当选项 2. ...

  8. java script 的工具

    1.Jsbeautifier 这个微型的美化器可以重新调整 bookmarklet 和丑陋的JavaScript的格式和缩进,也可以对使用流行的 Dean Edward 的 Packer 打包的脚本进 ...

  9. COSMOSBOX手遊制作手册(Word备份)

    20140712版 版本号 Version 日期 Date 作者 Author 变更主要原因描述 Brief Description 1.0 2014-4-26 陈霈霖 初稿 2.0 1. 前言 本手 ...

随机推荐

  1. CSP2019退役记

    写在前面 all last,我又失败了,我退役了 回忆我这个菜鸡OI生涯,有看机房神仙切题的乐趣,也有自己考场爆炸的辛酸 NOIP2017,我第一次参赛,我pj205二等打铁 NOIP2018,我第二 ...

  2. React实例------红绿灯

    概述 一个react的demo的实例,适合初学react的新手练习. 效果 用webpack打包后的目录结构 index.html react的封装,复用与Java的类似,面向对象的编程思想.所以in ...

  3. AD常用快捷键

    元器件翻转 : 空格 按住shift拖动元器件实现自动编号 取消布线 : 工具(Tools)取消布线(Un_Route)全部(AII) 栅格变为点阵 : 按ctrl+G——打开cartesian Gr ...

  4. drf--权限组件

    目录 权限简介 局部使用 全局使用 源码分析 权限简介 权限就是某些功能只对特定的用户开放,比如django中创建用户可分为超级用户和普通用户,此时超级用户就有权限进入后台管理系统,而普通用户就没有权 ...

  5. 【转载】C#的DataTable类Clone及Copy方法的区别

    在C#中的Datatable类中,Clone方法和Copy方法都可以用来复制当前的DataTable对象,但DataTable类中的Clone方法和Copy方法还是有区别的,Clone方法只复制结构信 ...

  6. JS项目练习之求和(包含正则表达式验证)

    最近在准备专升本,抽一点时间敷衍一下大家!!!嘿嘿嘿!!! 话不多说,上代码: <!DOCTYPE html> <html lang="zh-CN"> &l ...

  7. 英语bitellos钻石bitellos单词

    大颗粒的钻石叫做bitellos,四大钻石指的就是“摄政王”.“南非之星”.“蓝色希望”和“光明之山”四颗钻石.经过琢磨的钻石光彩夺目.灿烂无比,历来被誉为“宝石之王”,科研领域里大颗粒的钻石叫做bi ...

  8. 面试题:栈的push和pop序列是否一致

    参数是两个数组,arr1,arr2 stack stack = new Stack() for(int i=0;j=0;i<arr1.length;i++){ stack.push(arr[i] ...

  9. Scroller——startScroll、fling(惯性滑动)

    Scroller主要用于平滑滚动,主要使用的滚动方法有:startScroll.fling. startScroll(int startX, int startY, int dx, int dy, i ...

  10. Android Scroller简单用法实例

    Android里Scroller类是为了实现View平滑滚动的一个Helper 类.通常在自定义的View时使用,在View中定义一个私有成员mScroller = new Scroller(cont ...