nextjs在国外比较火的前端框架,结合tauri可以方便进行多端的布署。本文对创建基础的nestjs与tauri如何结合,进行了测试。本文作为记录笔记。(2023/12/26)
准备
本地已安装好rust, node,npm等。
1. Nextjs项目
常规安装nextjs
npx create-next-app
npx create-next-app@xx.xx.xx
tauri初装与初始化指令
cargo install tauri-cli
cargo tauri init
更改next.config.js(打包需要)
const nextConfig = {
output: 'export',
}
tauri运行(初次异常,参考【2、tauri运行异常】)
修改tauri.conf.json的
“identifier”: “com.tauri.dev”,为其他名称"com.xxx.xx"
cargo tauri dev
cargo tauri build
2、tauri运行异常
参考:https://github.com/tauri-apps/tauri/issues/7338
这里为了方便小伙伴,把内容取到此处。
- 备注:发现还是使用更改hosts文件,使得可以访问github好用,这里总是容易出错。
- 方法:https://ping.chinaz.com/github.com 取得github的解析IP,更改本地的hosts文件。
打包出问题:
首先是msi中的wix安装的失败,网络上有很多答案
手动下载文件,并解压到C:\Users\你的用户名\AppData\Local\tauri\WixTools下,
下载地址 https://github.com/wixtoolset/wix3/releases/download/wix3112rtm/wix311-binaries.zip
对应源代码地址为
https://github.com/tauri-apps/tauri/blob/dev/tooling/bundler/src/bundle/windows/msi/wix.rs#L33
https://github.com/tauri-apps/tauri/blob/dev/tooling/bundler/src/bundle/windows/msi.rs#L28
重点!!!
msi.rs中 WIX_REQUIRED_FILES 会检查这里的文件是否存在,不存在会删除文件重新下载。接下来的nsis也是同样的问题。
第二!!! nsis
手动下载文件nsis 解压到C:\Users\你的用户名\AppData\Local\tauri\NSIS
下载地址 https://github.com/tauri-apps/binary-releases/releases/download/nsis-3/nsis-3.zip
对应源码地址(注意从这里下载nsis_tauri_utils.dll)
https://github.com/tauri-apps/tauri/blob/dev/tooling/bundler/src/bundle/windows/nsis.rs#L47
注意!
NSIS这里检测的文件有两个插件是不包含再nsis-3.zip中的。
“Plugins/x86-unicode/ApplicationID.dll”,
“Plugins/x86-unicode/nsis_tauri_utils.dll”,
源码中给到了这两个文件的下载地址
const NSIS_APPLICATIONID_URL: &str = “https://github.com/tauri-apps/binary-releases/releases/download/nsis-plugins-v0/NSIS-ApplicationID.zip”;
const NSIS_TAURI_UTILS: &str =
“https://github.com/tauri-apps/nsis-tauri-utils/releases/download/nsis_tauri_utils-v0.1.1/nsis_tauri_utils.dll”; (版本有区别,会提示错误)
https://github.com/tauri-apps/nsis-tauri-utils/releases/download/nsis_tauri_utils-v0.2.2/nsis_tauri_utils.dll
如果检测到没有这两个文件,就会删除NSIS文件夹,从头开始下载,这就是你@rechalow文件被删的原因
这两个文件按照上边给到的位置放进去就可以了。
到此为止,就可以了
简略的文件树
C:\Users\用户名\AppData\Local\tauri>
├─NSIS
│ ├─Bin
│ ├─Contrib
│ ├─Docs
│ ├─Examples
│ ├─Include
│ ├─Plugins
│ │ ├─x86-ansi
│ │ └─x86-unicode 下载的插件放这里
│ └─Stubs
└─WixTools

本文介绍了如何在Next.js项目中集成Tauri进行跨平台部署,包括Next.js的基本配置、Tauri的初装及初始化,以及遇到的打包异常解决方案,如WixTools和NSIS的问题修复。

318

被折叠的 条评论
为什么被折叠?



