[英]How to add folders and files to electron build using electron-builder
[英]Include a folder and the files inside it to electron build using electron-builder?
我在 Electron 項目的工作目錄中名為data的目錄中有一些 JSON 文件。 我使用具有以下配置(package.json)的electron-build
成功構建了應用程序。
{
"name": "My App",
"version": "0.0.9",
"description": "TEST DESC",
"main": "main.js",
"scripts": {
"start": "electron .",
"pack": "build --dir",
"dist": "build"
}
"author": "Test",
"license": "CC0-1.0",
"build": {
"appId": "test.tester.test",
"directories": {
"app": ""
},
"extraFiles": [
"data"
],
"dmg": {
"contents": [
{
"x": 110,
"y": 150
},
{
"x": 240,
"y": 150,
"type": "link",
"path": "/Applications"
}
]
},
"win": {
"target": "squirrel",
"icon": "build/icon.ico"
}
},
"devDependencies": {
"electron": "~1.7.8",
"electron-builder": "^20.11.1"
},
"dependencies": {
"electron-settings": "^3.1.4",
"jquery": "^3.3.1",
"leveldown": "^3.0.0",
"mkdirp": "^0.5.1",
"shelljs": "^0.8.1"
}
}
我想數據目錄沒有被添加到構建文件中。 因為我使用數據目錄中的文件來呈現應用程序中的視圖,這在構建的應用程序中不起作用。 請提出解決方案。
我在應用程序中使用這些 JSON 文件,如下所示:
fs.readFile('./data/userdata.json', 'utf8', function readFileCallback(err, data) {
if(data == '') { data = '[]'; }
var users = JSON.parse(data);
//Render Code
});
"build": {
"extraResources": [
{
"from": "data",
"to": "data"
}
]
}
像這樣添加后,Electron-builder 將在打包應用程序后將數據文件夾復制到應用程序的資源/數據。 這樣你就可以用這個讀取文件了。
const dataPath =
process.env.NODE_ENV === 'development'
? path.join(__dirname, '../../data')
: path.join(process.resourcesPath, 'data');
fs.readFile(path.join(dataPath,'userdata.json', 'utf8', function readFileCallback(err, data) {
if(data == '') { data = '[]'; }
var users = JSON.parse(data);
//Render Code
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.