TypeScript 配置

设置 Forge 配置以使用 TypeScript

默认情况下,Electron Forge 的 配置 仅支持 JavaScript 和 JSON 文件作为输入。

Forge 还支持其他语言的配置文件,只要在项目本地安装了转译器,这些文件就会被转译为 JavaScript。这些配置文件遵循与 forge.config.js 相同的格式。

安装

对于 TypeScript,我们建议安装 ts-node。安装后,它将自动注册为 .ts 文件的模块加载器。

npm install --save-dev ts-node

配置文件

安装 ts-node 后,Forge 将能够从项目的根目录加载 forge.config.ts 文件。

此配置文件格式在功能上与 forge.config.js 相同。

forge.config.ts
import type { ForgeConfig } from '@electron-forge/shared-types';

const config: ForgeConfig = {
  packagerConfig: {
    asar: true,
    osxSign: {}
  },
  makers: [
    {
      name: '@electron-forge/maker-squirrel',
      platforms: ['win32'],
      config: {
        authors: "Electron contributors"
      }
    },
    {
      name: '@electron-forge/maker-zip',
      platforms: ['darwin'],
      config: {}
    },
    {
      name: '@electron-forge/maker-deb',
      platforms: ['linux'],
      config: {}
    },
  ]
};

export default config;

使用模块构造函数语法

使用 TypeScript 配置文件时,您可能希望对每个构建器、发布者或插件的各个选项进行更严格的类型验证。

为此,您可以导入每个模块的构造函数,该构造函数接受其配置对象作为第一个参数,以及目标平台列表作为第二个参数。

例如,以下配置等效于上面示例中的 makers 数组

forge.config.ts
import type { ForgeConfig } from '@electron-forge/shared-types';
import { MakerDeb } from '@electron-forge/maker-deb';
import { MakerSquirrel } from '@electron-forge/maker-squirrel';
import { MakerZIP } from '@electron-forge/maker-zip';

const config: ForgeConfig = {
  makers: [
    new MakerSquirrel({
      authors: 'Electron contributors'
    }, ['win32']),
    new MakerZIP({}, ['darwin']),
    new MakerDeb({}, ['linux']),
    new MakerRpm({}, ['linux']),
  ]
};

export default config;

上次更新于