Skip to content

CloudWoR/template-electron

Repository files navigation

Nest Logo

DoubleShot logo

Electron Logo

Description

Nest + Electron + DoubleShot + Vite TypeScript starter repository.

使用DoubleShot将前后端项目捆绑在一起进行开发,同时vite项目、nestjs微服务项目还可以独立编译及运行。

Installation

$ git clone https://github.com/CloudWoR/template-electron-nestjs.git
$ pnpm install

Running the app

# development
$ pnpm dev

# builder
$ pnpm build

踩坑经历

路径错误

const { join } = require('path');
function resolve(path) {
  return join(__dirname, path)
}

/**
 * @type {import('electron-builder').Configuration}
 * @see https://www.electron.build/configuration/configuration
 */
const config = {
  productName: 'Doubleshot App',
  directories: {
    output: resolve('dist'),
  },
  asar: false,
  electronDownload: {
    mirror: 'https://npm.taobao.org/mirrors/electron/',
  },
  files: [
    resolve('package.json'),
    {
      from: resolve('packages/dist'),
      to: 'backend',
    },
    {
      from: resolve('packages/renderer/dist'),
      to: 'renderer',
    },
  ],
  extraResources: [
    {
      from: resolve('packages/configurations'),
      to: 'assets/configurations',
      filter: ['**/*.yaml'],
    }
  ]
}

module.exports = config;

需要使用nestjs功能时,需要将app.asar解压,即electron-builder.config.js中需要将asar设置为:false。

nestjs项目打包问题

直接打包时,并没有将express库全部打包,需要重新安装express,并执行pnpm install命令后再次打包。

自动处理静态文件

License

Nest is MIT licensed.

About

vite,doubleshot,nestjs,electron混合项目,目的是灵活开发全栈项目。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published