readFileSync - 在打包的应用程序上没有这样的文件或目录。

问题描述 投票:1回答:1

我正在做一个Electron应用,我有几个来自src文件夹的JSON文件,需要在应用初始化时复制到用户文件夹中(设置、配置等)。

当我在开发模式下工作时,它工作得很好,而当我在开发模式下工作时,它工作得很好。import 的JSON文件。

但根据我的需要。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捆绑起来的。

在这个例子中,我的文件位于:

C:\Users\username\Desktop\NodeJS\branches\Electron\myApp\src\config\settings.json

我怎么才能让它正常工作?

有什么方法可以强制电子(我使用的是Electron-Packager和Quasar框架)将我的JSON文件包含在打包后的应用程序中吗?

Webpack是否没有捆绑JSON文件?

有什么想法?请帮助我

node.js json vue.js electron fs
1个回答
0
投票

作为一个变通办法,我刚刚创建了一个文件夹,其中将包含 "后打包 "脚本。其中一个脚本会将我的src文件夹复制到我的distribution/electron/appName/resources文件夹中(使用 "打包后 "脚本)。robocopy).

© www.soinside.com 2019 - 2024. All rights reserved.