配置 
electronup cli 集成并内置了 vite , tsup , electron-builder ,并没有加以魔改,只是在其三之上做了一些预置配置,除了一些关键性的路径配置,您完全可以传入相同的参数将其覆盖,配置属于您自己的配置。
electronup cli 有且只导出了一个帮助开发者提供代码提示的 api :defineConfig,在编写 electronup.config.ts 时提供正确的引导。
electronup.config.ts 
首先需要在项目根目录下创建 electronup.config.ts 文件,非根目录下的 electronup.config.ts 需要在运行时通过命令行参数指定路径。
关于项目中的资源路径问题,提升了配置层级,在最外层进行路径配置,当然不配置也可以,已经提供了默认路径,只需要创建对应目录就行。
renderDir 
渲染进程入口目录,也就是 web 入口目录。
mainDir 
主进程入口目录。
publicDir 
静态资源目录。
libDir 
动态库目录。
resourceDir 
资源构建输出目录。就是
dev时的输出目录。
outDir 
桌面端产物目录。就是
build时的输出目录。
TIP
以上路径都是基于根目录下, 最终会和根目录路径拼接, 以上路径在 vite tsup electron-builder 中配置不会生效。
vite 
渲染进程构建程序。
electronup cli 中预置了 vite ,除以下几项配置无法直接覆盖,其余和 vite 配置无二。
base 
可以覆盖,预置为
./。
该配置一般配合模板,如果需要改动需要同步配置 index.html 中的资源路径,(不推荐改动)。
build 
该配置预置了两个选项。
minify- 不可覆盖,可通过命令行参数 
--no-minify控制。 
- 不可覆盖,可通过命令行参数 
 outDiroutDir只能通过外部的resourceDir配置项覆盖。
root 
渲染进程根目录,也就是
index.html所在的目录。
root 只能通过外部的 renderDir 配置项覆盖。
publicDir 
全局静态资源目录。
publicDir 只能通过外部的 publicDir 配置项覆盖。
tsup 
用于构建主进程代码,预置配置已满足大部分开发,故此暴露了少量的配置项。
tsup 构建时,会同步注入用户配置的环境变量以保证双进程统一。
external 
排除参与构建的 modules。 以数组的形式配置。
noExternal 
总是参与构建的 modules。 以数组的形式配置。
electron-builder 
预置配置皆可覆盖,路径类配置需要在外部配置。
electronup 中的 electron-builder 详细配置查看。
提示
命令行参数权重高于用户配置,请结合文档完成构建配置。
预置配置示例 
以下配置是
template-react模板构建后生成的electronup-effective-config.yaml配置文件,仅供参考。
vite:
  base: ./
  plugins:
    - - name: vite:react-babel
        enforce: pre
      - name: vite:react-refresh
        enforce: pre
  resolve:
    alias:
      "@": /Users/quiteer/Documents/GitHub/electronup/template/react-project/render
  build:
    minify: esbuild
    outDir: /Users/quiteer/Documents/GitHub/electronup/template/react-project/dist/resource
  root: render
  publicDir: /Users/quiteer/Documents/GitHub/electronup/template/react-project/public
tsup:
  minify: false
  external:
    - electron
  entry:
    electron: /Users/quiteer/Documents/GitHub/electronup/template/react-project/main/index.ts
  outDir: dist/resource
  watch: false
  format: cjs
  dts: false
  clean: false
  env:
    VITE_HELLO: 你好!electronup!
    VITE_MODE_TEXT: 这里是生产环境
    NODE_ENV: production
builder:
  targets: {}
  config:
    asar: true
    appId: org.quiteer.electronup
    productName: react-project
    protocols:
      name: react-project
      schemes:
        - deeplink
    nsis:
      oneClick: false
      language: "2052"
      perMachine: true
      allowElevation: true
      allowToChangeInstallationDirectory: true
      runAfterFinish: true
      createDesktopShortcut: true
      createStartMenuShortcut: true
      artifactName: react-project ${arch} Setup 1.0.0.${ext}
    files:
      - filter:
          - dist/resource/**/*
    extraFiles:
      - filter:
          - lib
    directories:
      output: dist/out
    win:
      icon: public/icon.png
      target:
        target: nsis
        arch: ia32