当前位置: 首页 > news >正文

Saucer 页面嵌入使用举例

文章目录

  • Saucer 页面嵌入使用举例
    • saucer-dev/cli 包安装
    • 执行生成
      • 修改`package.json`
      • 执行命令
    • 参考资料

Saucer 页面嵌入使用举例

以一个Vue3项目为例,把写好的页面转化为适配saucer框架的cpp代码,供C++项目调用。

saucer-dev/cli 包安装

安装@saucer-dev/cli包:

pnpm install @saucer-dev/cli

或:

npm install @saucer-dev/cli -D --save

对于TypeScript项目,则还要安装@saucer-dev/types包。

由于我这个例子是Vue3TypeScript项目,且我想把该包放在开发模式中,并写入到package.json中,故:

npm i -D @saucer-dev/types -S

执行生成

修改package.json

package.json中增加一个专属于saucer embed的命令——build-saucer

  "scripts": {"dev": "vite","build": "run-p type-check \"build-only {@}\" --","build-saucer": "saucer embed ./dist","preview": "vite preview","build-only": "vite build","type-check": "vue-tsc --build","lint": "eslint . --fix"}

我们的Vue3项目生成的发布文件在dist目录,故设置为./dist

当然,这里也可按照官方文档直接修改build命令或采用全局模式,为了环境隔离和使用方便,这里我采用了独立命令的方式。

执行命令

在终端输入npm run build-saucer,成功生成相关文件:

saucer embedding

生成了一堆供saucer项目调用的头文件,如需要被调用的all.hpp

#pragma once#include <string>
#include <unordered_map>#include <saucer/webview.hpp>#include "assets/index-BmKUOS99.js.hpp"
#include "assets/index-DoQOFAyg.css.hpp"
#include "favicon.ico.hpp"
#include "index.html.hpp"namespace saucer::embedded
{inline auto all(){std::unordered_map<std::string, embedded_file> rtn;rtn.emplace("assets/index-BmKUOS99.js", embedded_file{saucer::stash<>::view(fhki3Onodun733QweSkUmPOL5hKDk0Jm1AqbHqEO8PwSND7gSjDttklr4NKGNC8ZOd5rwiR9ZA4D9qJn1zePt2LQhkcmqqux30aZcME5M4SUmdR8gb9tHpT), "application/javascript"});rtn.emplace("assets/index-DoQOFAyg.css", embedded_file{saucer::stash<>::view(f2ueru2Ph6oUn6cBGB4hz5sqV5WtUjxJeGqnBxffPel7N9qBjKcjOoD7b84Jfbm7O9hQEkRU7VBZOKe1iSEYstFgUGeW9iEV9oQR14NmA7wWIc55krt99P6Yt), "text/css"});rtn.emplace("favicon.ico", embedded_file{saucer::stash<>::view(f6NJUXUjfjH0o1Nwiy8ylpWyqYKLO7zXnevrg8CrDqJN97IGSXyz7MMsxEoSSqf4To8hOYjJ70UyhGiUmLZAii7FTItTyfJ9qfmDWh), "image/vnd.microsoft.icon"});rtn.emplace("index.html", embedded_file{saucer::stash<>::view(f1XjtLfpkQwqzWIsQOFjiWL44ycpgAeZnK5IKNIc4nxuSqcoUAAPSQFEHFhDfrRNqkX6dMwROShLTqyBKQXDjhcZIpKiz93M1eZAa), "text/html"});return rtn;}
} // namespace saucer::embedded

参考资料

  • Saucer Embedding
  • DeepSeek辅助写一个Vue3页面
  • C++ Saucer 编写Windows桌面应用
http://www.lryc.cn/news/571716.html

相关文章:

  • MySQL 8.0 OCP 题库完整版
  • 【Git】Git生产项目分支管理实战指南包含开发、测试、生产、bug修复和需求迭代
  • SHELL脚本(一)
  • 【微信小程序】4、SpringBoot整合WxJava生成小程序码
  • github为InfiniSynapse Docker提PR过程留档@Windows10
  • mysql 根据查询语句创建表语句
  • windows内网穿透
  • tauri+vue自动更新客户端打包配置
  • crackme009
  • 算法导论第十四章 B树与B+树:海量数据的守护者
  • TensorFlow基础之理解计算图
  • HBase RowKey设计原则.注意什么
  • [攻略本] 塞尔达系列攻略本/设定集PDF格式7.5GB
  • 探究webView与html的通讯
  • 腾讯云TCCA认证考试报名 - TDSQL数据库交付运维工程师(MySQL版)
  • 数学符号和标识中英文列表(含义与示例)
  • Vue-9-前端框架Vue之应用基础watch监视和watcheffect监视
  • 深入理解链表数据结构:从Java LinkedList到自定义实现
  • shelve模块的使用
  • 论文阅读笔记 | Qwen-VL:一个视觉语言大模型,通晓理解、定位、文本阅读等多种能力
  • 基于 Python Django 框架的在线租房管理系统设计与实现
  • ROS2 笔记汇总(2) 通信接口
  • 阿里云中间件:解锁云端应用的强大引擎
  • C++之多态
  • Flutter 学习 之 const
  • window显示驱动开发—流输出阶段
  • 解决你的100个问题——梦想
  • 正态分布:AI大模型中的概率统计基石
  • 我的256天创作纪念日
  • 【5G通信基础】UCI上行链路控制信息简介