Nextjs与tauri进行集成

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

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值