gpt4 book ai didi

node.js - readFileSync-打包的应用程序上没有此类文件或目录

转载 作者:行者123 更新时间:2023-12-03 12:27:50 24 4
gpt4 key购买 nike

我正在开发Electron应用程序。
我有src文件夹中的几个JSON文件,需要在应用初始化(设置,配置等)期间将它们复制到用户文件夹中。

在开发人员模式下以及当我对JSON文件进行import时,它运行良好。

但是根据我的需要,readFileSync是实现此目的的最佳方法。

var srcPath = path.resolve(__dirname, '../config/settings.json')
fs.readFileSync(srcPath)

我在运行打包的exe应用程序时(在asar中)遇到错误。
得到这样的错误消息:
Error: ENOENT: no such file or directory, open 
'C:\Users\username\Desktop\NodeJS\branches\Electron
\myApp\dist\electron\My-App-win32-x64\resources\config\settings.json'

出于相同的原因, readdirSync()也无法正常工作。

我了解打包版本中的相对路径有所不同
我检查了asar文件,但似乎找不到JSON文件。由于它是由Webpack bundle 在一起的,因此不确定是否可以正确检查。

在此示例中,我的文件位于:
C:\Users\username\Desktop\NodeJS\branches\Electron\myApp\src\config\settings.json

我该如何进行这项工作?

有没有一种方法可以强制 Electron (我在Quaar框架中使用Electron-Packager)将JSON文件包含在打包的应用程序中?

Webpack是否不 bundle JSON文件?

有什么想法吗?请帮忙!

最佳答案

解决方法是,我刚刚创建了一个文件夹,其中包含“后打包”脚本。其中之一将副本从我的src文件夹复制到dist\electron\appName\resources文件夹(使用robocopy)。

关于node.js - readFileSync-打包的应用程序上没有此类文件或目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61592019/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com