当前位置: 首页 > 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桌面应用

相关文章:

  • (LeetCode 每日一题) 2966. 划分数组并满足最大差限制 (贪心、排序)
  • 【java】@RestController和@Controller的区别
  • 【python 读取抖音/小红书/微博今日头条/百度热点等平台的热点新闻】
  • C++ Primer Plus 9.2.7 mutable
  • Windows11下搭建Raspberry Pi Pico编译环境
  • AutoHotkey 脚本生成器:一键打开网页到指定位置(v2版本:自定义位置)
  • C语言——枚举
  • 基于python的web系统界面登录
  • 前端开发面试题总结-vue2框架篇(四)
  • 利用Java进行验证码的实现——字母数字验证码
  • FPGA基础 -- Verilog 数据流建模
  • WPF入门 #1 WPF布局基础、WPF样式基础、WPF控件模板、WPF数据模板
  • Python笔记1
  • 影刀rpa-3步获取社区信息
  • Dify动手实战教程(入门-猜病、哄哄模拟器)
  • singlefligt使用方法和源码解读
  • MySQL 索引和select优化
  • vuex中的辅助函数怎样使用
  • P7 QT项目----会学天气预报
  • 初识树及二叉树
  • 虎门h5网站建设/百度权重4网站值多少钱
  • 云南网站建设/爱站权重
  • 网站建设文翻译工作/如何自己建立一个网站
  • 国家公安网查网站备案/合肥网络seo
  • 做别人的网站诈骗视频/瑞昌网络推广
  • 上海市建设网站/百度引流推广怎么收费