许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Gluon.js配置、运行与打包教程

Gluon.js配置、运行与打包教程

阅读数 30
点赞 0
article_banner

0、配置 PowerShell 执行策略

以管理员身份运行PowerShell,运行Set-ExecutionPolicy RemoteSigned,并输入Y,回车确认

1、安装nvm

访问下载地址下载安装nvm:

2、配置nvm

nvm install 18.15.0安装Node.js18.15.0LTS版
nvm use 18.15.0启用这个版本

   运行cmd /c "nvm -v && node -v && npm -v",正常输出版本号说明安装完成
npm config set registry https://registry.npmmirror.com 设置 镜像

3、安装 浏览器  

Gluon基于已安装的浏览器,和Electron、Tauri的运行原理都不同

Win11自带Edge浏览器,Ubuntu自带火狐浏览器,实在没有也可以安装Chrome浏览器
Chrome官网Firefox官网Edge官网

   基于Chromium和Firefox一众浏览器

   不支持Safari

4、安装VSCode

下载安装VSCode

5、Gluon项目构成

  • gluon_data 这不是项目本身,不用关注,这是自动生成的。
  • node_modules 模块文件夹。里面有很多模块,例如@gluon-framework/gluon
  • index.js 程序入口文件。package.json中的main属性指定了index.js作为入口文件
  • package-lock.json 锁定安装时的包的版本号及包的依赖的版本号。这是自动生成的。
  • package.json 项目描述文件。用于放置脚本,指定入口文件,指定依赖包。

8、新建项目hellogluon

  1. md hellogluon;cd hellogluon;npm init -y;npm install @gluon-framework/gluon --save;code . 创建、初始化gluon、安装、使用VSCode打开
  2. 修改package.json,添加type属性 { "type": "module" } 一键获取完整项目代码json123
  3. 新建文件.\hellogluon\index.js // 导入gluon import * as Gluon from "@gluon-framework/gluon"; //一个直接执行的匿名函数 (async () => { // 获取启动参数 const browsers = process.argv.slice(2).filter((x) => !x.startsWith("-")); // 检查是否有启动参数 if (browsers.length > 0) { // 将启动参数传递给新窗口,打开一个新窗口 for (const forceBrowser of browsers) { await Gluon.open("./hello.html", { windowSize: [800, 500], forceBrowser, }); } // 结束匿名函数的运行 return; } // 打开一个新窗口 await Gluon.open("./hello.html", { windowSize: [800, 500], }); })(); 一键获取完整项目代码js1234567891011121314151617181920212223242526
  4. 新建文件.\hellogluon\hello.html <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8" /> <!-- Gluon只会读网络图片和本地svg图片,极低概率读取本地favicon.ico,读取什么格式都是损坏的 --> <link rel="icon" href="./hello.svg" /> <title>Gluworld-c</title> <link rel="stylesheet" href="hello.css" /> <script src="hello.js"></script> </head> <body> <h1>介绍Gluon</h1> <p> Gluon 是一个使用系统已安装浏览器(非 WebView)和 NodeJS 来创建桌面端的框架。 </p> <p> 当前窗口是由 <span id="GluonVersion">0.13.4</span> 版本的 Gluon 创建的。 </p> <p> 浏览器是 <span id="BrowserVersion">110.0.1587.63</span> 版本的 <span id="Browser">Edge</span> 浏览器( <span id="JSEngineVersioin">11.0.13.4</span> 版本的 <span id="JSEngine">V8</span> 引擎) </p> <p> NodeJS 是<span id="NodeState">系统安装</span>的 <span id="NodeVersion">18.15.0</span> 版本的 NodeJS( <span id="NodeV8Version">10.2.154.26-node.25</span> 版本的 V8 引擎)。 </p> <textarea title="---" id="text"></textarea> <hr /> <button id="btn1" type="button">按钮一</button> <button id="btn2" type="button">按钮二</button> </body> </html> 一键获取完整项目代码html1234567891011121314151617181920212223242526272829303132333435363738
  5. 网上随便找个svg图片放在这个路径:.\hellogluon\hello.svg
  6. 新建文件.\hellogluon\hello.css html, body { background: #101418; color: #fff; } textarea { border-radius: 4px; border: 1px solid #dcdfe6; box-sizing: border-box; line-height: 40px; outline: none; padding: 0 15px; width: 100%; } button { cursor: pointer; padding: 12px 20px; border-radius: 4px; border: 1px solid black; } button:active { transform: translate(2px, 2px); } button:hover { border: 1px solid white; } 一键获取完整项目代码css1234567891011121314151617181920212223242526
  7. 新建文件.\hellogluon\hello.js (async () => { await new Promise((resolve) => { function check() { if (!window.Gluon) { return setTimeout(check, 50); } else { return resolve(); } } check(); }); // 获取gluon版本号 document.querySelector("#GluonVersion").textContent = Gluon.versions.gluon; //获取浏览器版本号 document.querySelector("#BrowserVersion").textContent = Gluon.versions.browser; //获取当前嵌入的浏览器 document.querySelector("#Browser").textContent = Gluon.versions.product; //获取JS引擎的版本号 document.querySelector("#JSEngineVersioin").textContent = Gluon.versions.js.browser; //获取JS引擎名称 document.querySelector("#JSEngine").textContent = Gluon.versions.browserType === "firefox" ? "SpiderMonkey" : "V8"; //获取Node的运行位置 document.querySelector("#NodeState").textContent = Gluon.versions.embedded .node ? "内部嵌入" : "系统安装"; //获取Node版本号 document.querySelector("#NodeVersion").textContent = Gluon.versions.node; //获取Node使用的V8引擎的版本号 document.querySelector("#NodeV8Version").textContent = Gluon.versions.js.node; })(); 一键获取完整项目代码js123456789101112131415161718192021222324252627282930313233343536
  8. 项目根目录.\hellogluon运行node .

9、caxa打包

  1. 安装caxa
    npm install caxa --save-dev
  2. 运行打包命令
        就这么简单,soeasy。
    exe
  3. Resource Hacker官网下载软件用来添加图标,在线ICO转换网站用来转换图标,将.\hellogluon\hello.svg转换为1.ico(必须叫这个名字,就叫1.ico)
  4. 将hello.exe拖拽进ResourceHacker软件,标题栏变化说明加载成功
    在这里插入图片描述
  5. 点击选项Add Binary or Image Resource(菜单选项Action中也有该项,快捷键Ctrl+M)
    在这里插入图片描述
  6. 点击按钮Select File …,打开1.ico,点击按钮Add Resource,点击保存按钮
    在这里插入图片描述在这里插入图片描述在这里插入图片描述

        7.修改完成(确认方法:将hello.exe放进随机数文件夹里,躲避Windows图标缓存)
    在这里插入图片描述

10、pkg打包?

如何构建可执行文件? - Github议题

   Gluon目前并没有打包方案,使用pkg
ES modules not supported - pkg - github议题

   pkg打了半天打不上,打个屁😂。

直接下载Node压缩包node-v18.15.0-win-x64.zip官网下载镜像下载

   解压Node,将项目和Node放一起,目录如下
".\hello\gluworld-c
.\hello\node-v18.15.0-win-x64
.\hello\start.bat

.\hello\start.bat的内容为:

node-v18.15.0-win-x64\node.exe gluworld-c\index.js


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删


相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空