最近终于下定决心将《多终端管理工具》,打包一份 windows 环境。
之前在mac环境开发和打包都没有任何问题。但是,将代码移到 windows 电脑上后,就碰到了一系列问题。
1.Module parse failed: Unexpected token (1:1437)
这个错误是因为@tauri-apps/api模块中有es6\es7的符号,比如:params?.args,webpack 打包过程中无法识别导致。
解决方案是在babel中配置额外的编译路径。比如我使用的是umijs的脚手架,所以在.umirc里面添加如下配置:
import { defineConfig } from 'umi';
export default defineConfig({
...
extraBabelIncludes:['@tauri-apps/api'],
...
});
Downloading https://github.com/wixtoolset/wix3/releases/download/wix3112rtm/wix311-binaries.zip
这个错误是在tauri build的过程中出现的。因为,tauri打包的过程中,会有一个下载依赖包的过程,国内由于GitHub慢原因,导致https://github.com/wixtoolset/wix3/releases/download/wix3112rtm/wix311-binaries.zip文件下载不了。
解决方案是直接通过迅雷下载这个zip文件,然后将解压后的文件放到C:\Users\用户\AppData\Local\tauri\WixTools目录下。
如果C:\Users\用户\AppData\Local\tauri\WixTools这个目录不存在,可以自己手动创建对应的目录。
Error failed to bundle project: error running light.exe
解决问题2后,又出现了一个问题:
Error failed to bundle project: error running light.exe: error running light.exe: `failed to run C:\Users\273581871_31965846\AppData\Local\tauri/WixTools\light.exe`
解决方案:
使用Visual Studio Installer勾选红框位置,然后进行安装。
然后在tauri.config.json的配置中添加以下配置:
"bundle": {
...
"windows": {
"wix":{
"language": "zh-CN"
},
}
...
},
最后,当你看到Finished 1 bundle at: D:\codes\composite-terminal\src-tauri\target\release\bundle/msi/多终端管理器_0.1.0_x64_zh-CN.msi这行的时候,就代表打包成功了。