Node.js 在电子应用程序中访问和打包外部文件
我正在构建我的第一个包含应用程序内容(JSON文件)的electron应用程序 我的问题是,在使用electron build打包后,我无法访问应用程序内容 我将讨论中的JSON文件(mvdb.JSON)添加到外部资源中,并在主进程中解析路径 package.jsonNode.js 在电子应用程序中访问和打包外部文件,node.js,electron,Node.js,Electron,我正在构建我的第一个包含应用程序内容(JSON文件)的electron应用程序 我的问题是,在使用electron build打包后,我无法访问应用程序内容 我将讨论中的JSON文件(mvdb.JSON)添加到外部资源中,并在主进程中解析路径 package.json "build": { "appId": "com.example.app", "extraResources": ["mvdb.json"], "mac": { "category": "you
"build": {
"appId": "com.example.app",
"extraResources": ["mvdb.json"],
"mac": {
"category": "your.app.category.type"
},
"win": { "target": ["portable", "NSIS"]
},
"directories": {
"output": "release"
}
},
main.js
const fs=require('fs');
const isDev=process.env.NODE_env!='生产
//加载电影数据库
const MOVIE\u DB\u PATH=isDev?join(_dirname,'mvdb.json'):path.join(process.resourcesPath,'mvdb.json');
...
fs.readFileSync(电影数据库路径)
macOS包构建在Contents/resources文件夹中有mvdb.json文件,但启动时会收到错误消息
Uncaught Exception:
Error: ENOENT, mvdb.json not found in /Users/me/Documents/projects/screenwriters-delight/electron/release/mac/screenwriters-delight.app/Contents/Resources/app.asar
at createError (electron/js2c/asar.js:111:17)
at Object.fs.readFileSync (electron/js2c/asar.js:548:24)
at loadDB ...
有什么建议吗?试试这个
path.join(process.resourcesPath, '..', 'mvdb.json')
您需要向后移动一个文件夹