Importing an Existing Project导入现有项目
Import an existing Electron project to use Electron Forge.导入现有的Electron项目以使用Electron Forge。
If you already have an Electron app and want to try out Electron Forge, you can either use Forge's 如果你已经有了Electron应用程序,并且想试用Electron Forge,你可以使用Forge的import
script or manually configure Forge yourself.import
脚本,也可以自己手动配置Forge。
These steps will get you set up with a basic build pipeline that can create Squirrel.Windows (Windows), Zip (macOS), and deb (Linux) installers when running 这些步骤将为您设置一个基本的构建管道,在运行electronic forge make时,该管道可以创建Squirrel.Windows(Windows)、Zip(macOS)和deb(Linux)安装程序。electron-forge make
.
Using the import script使用导入脚本
Importing an existing Electron app into the Electron Forge workflow can be done automatically using Forge's 将现有的Electron应用程序导入Electron Forge工作流可以使用Forge的import
command.import
命令自动完成。
cd my-app npm install --save-dev @electron-forge/cli npm exec --package=@electron-forge/cli -c "electron-forge import"
This script will set up Forge to package your app and build installers for it.此脚本将设置Forge来打包您的应用程序并为其构建安装程序。
Setting up Forge manually手动设置锻造
If the import script does not work for some reason, you can also install Forge manually. To get identical behavior to the script, follow the steps below.如果导入脚本由于某种原因不起作用,您也可以手动安装Forge。要获得与脚本相同的行为,请执行以下步骤。
Installing dependencies安装依赖项
First, install Forge's CLI and the target Makers as devDependencies in your project.首先,在项目中安装Forge的CLI和目标Makers作为devDependencies。
cd my-app npm install --save-dev @electron-forge/cli @electron-forge/maker-squirrel @electron-forge/maker-deb @electron-forge/maker-zip
Configuring 配置package.json
To start using Forge, add a few command scripts to your package.json file:要开始使用Forge,请在您的package.json文件中添加一些命令脚本:
{ // ... "scripts": { "start": "electron-forge start", "package": "electron-forge package", "make": "electron-forge make", "publish": "electron-forge publish" } // ... }
Then, set up your Forge Overview in the 然后,在config.forge
field in package.json.package.json
的config.forge
字段中设置Forge概述。
{ // ... "config": { "forge": { "packagerConfig": {}, "makers": [ { "name": "@electron-forge/maker-squirrel", "config": { "name": "electron_quick_start" } }, { "name": "@electron-forge/maker-zip", "platforms": [ "darwin" ] }, { "name": "@electron-forge/maker-deb", "config": {} }, { "name": "@electron-forge/maker-rpm", "config": {} } ] } } // ... }
In the above object, we configure each Maker that we installed into the 在上面的对象中,我们配置了安装到makers
array. makers
数组中的每个制造商。We also create an empty 我们还创建了一个空的packagerConfig
object that you should edit to your app's packaging needs.packagerConfig
对象,您应该根据应用程序的打包需求对其进行编辑。
Adding Squirrel.Windows boilerplate添加Squirrel.Windows样板
When distributing a Squirrel.Windows app, we recommend installing 在分发Squirrel.Windows应用程序时,我们建议将electron-squirrel-startup
as a runtime dependency to handle Squirrel events.electron-squirrel-startup
安装为运行时依赖项,以处理squirrel事件。
cd my-app npm install electron-squirrel-startup
Then, add the following snippet as early as possible in the main process execution (before the 然后,在主流程执行中尽早添加以下代码段(在app.ready
event).app.ready
事件之前)。
if (require('electron-squirrel-startup')) app.quit();
Optional: publishing your app可选:发布您的应用程序
You can also configure Forge to upload your release artifacts to a self-hosted release server such as Electron Release Server or Nucleus, or cloud storage providers such as S3.您还可以配置Forge将您的发布工件上传到自托管的发布服务器,如Electron发布服务器或Nucleus,或云存储提供商,如S3。
For example, for the S3 Publisher:例如,对于S3发布服务器:
cd my-app npm install --save-dev @electron-forge/publisher-s3
{ // ... "config": { "forge": { "packagerConfig": {}, "makers": [ /* ... */], "publishers": [ { "name": "@electron-forge/publisher-s3", "platforms": ["darwin", "linux"], "config": { "bucket": "my-bucket", "folder": "my/key/prefix" } } ] } } // ... }
See the Publishers documentation for more information.有关详细信息,请参阅发布者文档。