Electron构建报错:产物文件缺失,需将.trie文件加入app.asar?
解决Electron-React-Boilerplate构建后.trie文件找不到的问题
没错,你必须把这三个.trie文件打包进app.asar包才能解决这个报错。Electron构建完成后,应用的核心代码和依赖资源会被打包成app.asar文件,你的module.umd.js在preload脚本中运行时,会尝试从asar包内的对应路径读取这些.trie文件,但默认build配置不会自动包含这类静态资源,所以才会抛出ENOENT找不到文件的错误。
具体解决步骤:
- 打开项目根目录的
package.json文件,找到build配置段。 - 在
build中添加files数组,明确指定要打包的.trie文件路径。比如你的.trie文件位于dist/main目录下,配置如下:
"build": { "files": [ "dist/**/*", "dist/main/*.trie" ], // 保留原有其他配置项 }
- 如果你的.trie文件是放在源码目录(比如
src/main/data),则把路径改成"src/main/data/*.trie"即可。 - 重新执行构建命令(比如
npm run package或npm run make),构建完成后.trie文件会被自动打包进app.asar,应用就能正常读取这些文件了。
额外注意事项:
- 确保
module.umd.js读取.trie文件的相对路径和打包后的文件结构一致,避免因路径不匹配再次出现找不到文件的问题。
内容的提问来源于stack exchange,提问作者Ivan Taccadoli
相关产品推荐
相关产品推荐

