โซลูชันที่สมบูรณ์ในการบรรจุและสร้างอิเล็กทรอนิกส์ที่พร้อมสำหรับการกระจายแอพ Proton Native สำหรับ MacOS, Windows และ Linux ด้วยการสนับสนุน“ Auto Update” นอกกรอบ
มองหาการมีส่วนร่วมของชุมชนเสมอ! - การตั้งค่าสภาพแวดล้อม dev นั้นง่ายต่อการทำ?
| หมายเหตุงานโครงการ ทั้งหมดอยู่ในที่เดียว | |
เกตเวย์ของคุณเพื่อทำความเข้าใจข้อมูลโรคเบาหวานของคุณ | สิทธิ์ใช้งานซอฟต์แวร์ที่เปิดกว้างและเปิดใช้งาน API |
Todesktop: แพลตฟอร์ม all-in-one สำหรับการสร้างและปล่อยแอพอิเล็กตรอน | ![]() |
ดูเอกสารฉบับเต็มเกี่ยวกับอิเล็กตรอน Build
7z , zip , tar.xz , tar.7z , tar.lz , tar.gz , tar.bz2 , dir (ไดเรกทอรีที่ไม่ได้บรรจุ)dmg , pkg , masdeb ), rpm , freebsd , pacman , p5p , apknsis (Installer), nsis-web (Web Installer), portable (แอพพกพาโดยไม่ต้องติดตั้ง), Appx (Windows Store), MSI, Squirrel.Windows| คำถาม | คำตอบ |
|---|---|
| “ ฉันต้องการกำหนดค่าอิเล็กตรอนผู้สร้าง” | ดูตัวเลือก |
| “ ฉันพบข้อผิดพลาดหรือมีคำถาม” | เปิดปัญหา |
| “ ฉันต้องการสนับสนุนการพัฒนา” | บริจาค |
แนะนำให้ใช้เส้นด้ายแทน NPM
yarn add electron-builder --dev
ในการใช้กับ pnpm คุณจะต้องปรับ .npmrc ของคุณเพื่อใช้วิธีการใด ๆ ต่อไปนี้เพื่อให้การพึ่งพาของคุณได้รับการรวมอย่างถูกต้อง (อ้างอิง: #6389):
node-linker=hoisted
public-hoist-pattern=*
shamefully-hoist=true
หมายเหตุ: การตั้งค่าความน่าอับอายของความจริงเป็นเช่นเดียวกับการตั้งค่ารูปแบบสาธารณะที่เป็น *
เส้นด้าย 3 ใช้ PNP โดยค่าเริ่มต้น แต่อิเล็กตรอนผู้สร้างยังคงต้องการโหมดโหนด (REF: yarnpkg/berry#4804) เพิ่มการกำหนดค่าใน .yarnrc.yaml ดังนี้:
nodeLinker: "node-modules"
จะประกาศว่าจะใช้โหมดโหนดแทน PNP
Electron-Webpack-Quick-Start เป็นวิธีที่แนะนำในการสร้างแอพพลิเคชั่นอิเล็กตรอนใหม่ ดูหม้อต้ม
ระบุฟิลด์มาตรฐานใน package.json แอปพลิเคชัน json - ชื่อ, description , version และผู้แต่ง
ระบุการกำหนดค่าการสร้างใน package.json ดังต่อไปนี้:
"build" : {
"appId" : " your.id " ,
"mac" : {
"category" : " your.app.category.type "
}
} ดูตัวเลือกทั้งหมด ไฟล์ตัวเลือกเพื่อระบุไฟล์ที่ควรบรรจุในแอปพลิเคชันสุดท้ายรวมถึงไฟล์รายการอาจจำเป็น นอกจากนี้คุณยังสามารถใช้ไฟล์การกำหนดค่าแยกต่างหากเช่น js , ts , yml และ json / json5 ดูที่ Read-config-file สำหรับส่วนขยายที่รองรับ ตัวอย่าง JS สำหรับโปรแกรม API โปรแกรม
เพิ่มไอคอน
เพิ่มคีย์สคริปต์ลงใน package.json การพัฒนา json:
"scripts" : {
"app:dir" : " electron-builder --dir " ,
"app:dist" : " electron-builder "
} จากนั้นคุณสามารถเรียกใช้ yarn app:dist (เพื่อจัดทำแพ็คเกจในรูปแบบที่กระจายได้ (เช่น DMG, Windows Installer, DEB Package)) หรือ yarn app:dir (สร้างไดเรกทอรีแพ็คเกจโดยไม่ต้องบรรจุภัณฑ์จริงๆสิ่งนี้มีประโยชน์สำหรับการทดสอบ)
เพื่อให้แน่ใจว่าการพึ่งพาดั้งเดิมของคุณจะถูกจับคู่กับรุ่นอิเล็กตรอนเสมอเพียงเพิ่มสคริปต์ "postinstall": "electron-builder install-app-deps" ลงใน package.json ของคุณ
หากคุณมีส่วนเสริมดั้งเดิมของคุณเองที่เป็นส่วนหนึ่งของแอปพลิเคชัน (ไม่ใช่การพึ่งพา) ให้ตั้ง nodegyprebuild เป็น true
โปรดทราบว่าทุกอย่างถูกบรรจุไว้ในคลังเก็บ ASAR โดยค่าเริ่มต้น
สำหรับแอพที่จะส่งไปยังการผลิตคุณควรเซ็นชื่อแอปพลิเคชันของคุณ ดูว่าจะซื้อใบรับรองการลงนามรหัสได้ที่ไหน
ดู node_modules/electron-builder/out/index.d.ts มีการพิมพ์ typescript และยังสามารถพบได้ที่นี่
ตัวอย่างโค้ดที่ให้ไว้ด้านล่างจะแสดง "ในการดำเนินการ" ที่นี่เช่นกัน
"use strict"
const builder = require ( "electron-builder" )
const Platform = builder . Platform
// Promise is returned
builder . build ( {
targets : Platform . MAC . createTarget ( ) ,
config : {
"//" : "build options, see https://goo.gl/QQXmcV"
}
} )
. then ( ( ) => {
// handle result
} )
. catch ( ( error ) => {
// handle error
} ) ตั้งค่าตัวแปรสภาพแวดล้อม DEBUG ให้ดีบักสิ่งที่อิเล็กตรอนผู้สร้างกำลังทำอยู่:
DEBUG=electron-builder FPM_DEBUG Env เพื่อเพิ่มรายละเอียดเพิ่มเติมเกี่ยวกับการสร้างเป้าหมาย Linux (ยกเว้น SNAP และ AppImage)
DEBUG_DMG=true env var เพื่อเพิ่มการดีบักเพิ่มเติม/คำสั่งจาก hdiutil (macOS)
- เคล็ดลับ "CMD" บน Windows ตัวแปรสภาพแวดล้อมถูกตั้งค่าโดยใช้คำสั่ง SET bash set DEBUG=electron-builder
- เคล็ดลับ "PowerShell" PowerShell ใช้ไวยากรณ์ที่แตกต่างกันเพื่อตั้งค่าตัวแปรสภาพแวดล้อม bash $env:DEBUG=electron-builder
เราทำงานโอเพ่นซอร์สนี้ในเวลาว่างของเรา หากคุณต้องการให้เราลงทุนเวลามากขึ้นโปรดบริจาค