Nest + Electron + DoubleShot + Vite TypeScript starter repository.
使用DoubleShot将前后端项目捆绑在一起进行开发,同时vite项目、nestjs微服务项目还可以独立编译及运行。
$ git clone https://github.com/CloudWoR/template-electron-nestjs.git
$ pnpm install# development
$ pnpm dev
# builder
$ pnpm buildconst { 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。
直接打包时,并没有将express库全部打包,需要重新安装express,并执行pnpm install命令后再次打包。
Nest is MIT licensed.
