Code Monkey home page Code Monkey logo

electron-vite-template's Introduction

electron-vite-template

Open in Visual Studio Code GitHub Repo stars vue vite element-ui electron license

Installation

You can choose to clone the project or fork repository, or download the zip file directly. It is recommended to clone the repository so that you can receive the latest patches.

To run a project, you need to have node version 18 or higher and use npm as your dependency management tool

For Chinese Developers

Build TEST

Build Setup

# Clone this repository
$ git clone https://github.com/umbrella22/electron-vite-template.git
# Go into the repository
$ cd electron-vite-template
# install dependencies
$ npm install

# serve with hot reload at localhost:9080
$ npm run dev

# build electron application for production
$ npm run build


Function list

[x] Auto update [x] Incremental update [x] Loading animation before startup [x] i18n

Built-in

Note

  • gitee is only for domestic users to pull code,from github to synchronize,please visit github for PR
  • Welcome to Issues and PR

electron-vite-template's People

Contributors

mlmdflr avatar orziz avatar umbrella22 avatar youliso avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

electron-vite-template's Issues

externals建议参考webpack那边的

image

这一大坨东西,建议走打包体系,node_modules如果越做越大,后期这个文件可能上十万个,1g多,全打进来包太大了

建议是,electron-builder的配置上,那个files和extraresources之类的上优化, files: [!node_modules], 类似于这样设置,然后把主渲都走打包,rollup参考webpack那边的externals

大佬,拉下代码来打包报错

1.拉取代码,
2.设置环境及安装环境(根据doc网站上那样设置,安装工具用yarn)
3. 安装好后 yarn dev 桌面软件可启动
4. 打包 yarn build / yarn build:win64 等 均报错 大概意思是 main进程的文件没有打包出来 所以报错
跪求解决指导一下
错误信息:

OKAY take it away electron-builder

• electron-builder version=23.0.3 os=10.0.22000
• loaded configuration file=E:\Study\vue\electron-vite-template\build.json
• writing effective config file=build\builder-effective-config.yaml
• packaging platform=win32 arch=x64 electron=17.2.0 appOutDir=build\win-unpacked
• asar usage is disabled — this is strongly not recommended solution=enable asar and use asarUnpack to unpack files that must be externally available
⨯ Application entry file "E:\Study\vue\electron-vite-template\build\win-unpacked\resources\app\dist\electron\main\main.js" does not exist. Seems like a wrong configuration. failedTask=build stackTrace=Error: Application entry file "E:\Study\vue\electron-vite-template\build\win-unpacked\resources\app\dist\electron\main\main.js" does not exist. Seems like a wrong configuration.
at WinPackager.checkFileInPackage (E:\Study\vue\electron-vite-template\node_modules\app-builder-lib\src\platformPackager.ts:528:15)
at WinPackager.sanityCheckPackage (E:\Study\vue\electron-vite-template\node_modules\app-builder-lib\src\platformPackager.ts:551:5)
at WinPackager.doPack (E:\Study\vue\electron-vite-template\node_modules\app-builder-lib\src\platformPackager.ts:312:5)
at WinPackager.pack (E:\Study\vue\electron-vite-template\node_modules\app-builder-lib\src\platformPackager.ts:136:5)
at Packager.doBuild (E:\Study\vue\electron-vite-template\node_modules\app-builder-lib\src\packager.ts:441:9)
at Object.executeFinally (E:\Study\vue\electron-vite-template\node_modules\builder-util\src\promise.ts:12:14)
at Packager._build (E:\Study\vue\electron-vite-template\node_modules\app-builder-lib\src\packager.ts:376:31)
at Packager.build (E:\Study\vue\electron-vite-template\node_modules\app-builder-lib\src\packager.ts:337:12)
at Object.executeFinally (E:\Study\vue\electron-vite-template\node_modules\builder-util\src\promise.ts:12:14)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

三方依赖引入的问题

我打算做一个小程序自动上传的桌面应用,其中有用到miniprogram-ci这个npm包。

  1. miniprogram-ci安装在devDependencies
    npm i miniprogram-ci -D

  2. 然后在LandingPage.vue中引入
    const ci = require('miniprogram-ci')
    console.log('ci',ci)
    则会出现:

    • 开发环境正常,可以正常使用。
    • 打包应用后,发现加载失败,表现为白屏。

环境:

  • windows10 64位系统
  • node v14.18.1
  • npm 6.14.15

"jsx": "preserve",

发现语法提示错误信息:“除非提供了’–jsx’标志,否则无法使用JSX”. 处理
建议tsconfig.json配置中的添加 "jsx": "preserve",

检查更新/增量更新都失败

点击增量更新按钮后,后台提示以下报错


  Error sending from webFrameMain:  Error: Failed to serialize arguments
      at s.send (node:electron/js2c/browser_init:2:86410)
      at _.send (node:electron/js2c/browser_init:2:72047)
      at updater$1 (/Users/accidia/projects/xg-shuafu/dist/electron/main/main.js:5800:27)
      at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

request for something like "Minimum Viable Architecture"

首先感谢作者提供此项目模板,clone-install-run一条龙开发省了不少功夫!

请求:
能不能发布一版类似最小可构建项目的模板
或者罗列出依赖的库中optional的项以供使用者二次定制

情景:
我看了package.json,里面带有大量的(个人认为)optional的依赖

  • 比如elementplus这样的ui框架(比如我个人就不太喜欢这个库,题外话: 推荐一个ui框架 PrimeVue,他也有react版的 PrimeReact),
  • 比如i18n这样的大项目才有需求的库包(毕竟如果是初学者练手或者小型个人项目没有i18n的需求)。
    虽然模板自带提供了各个方面的便捷,但是这些可选项如果和开发者意向使用的库不同。
    那在删去之前可能还要考虑是否是此模板所用到的,还是说可以无effect地直接删除这些依赖。

可能的方案:

  1. 比较粗糙的解决方案,将非必需项简单地写入peerDependencies里,这样clone模板后install不会直接安装,若是用户用到则可以主动添加,否则可以放心地删去这些依赖项。
  2. 类似vite中 /** PURE */ 的方式标注可安全删除,此模板可以尝试用某种方式来标明这是可以无副作用地删去的依赖项 (这个方案直接在packages里好像没什么方法实现,可以借助readme列表方式来说明)

再次感谢作者的模板提供的便利!

编译后不能运行,提示缺少模块

更新后编译,没有处理依赖包,依赖的包没有打包,运行时提示缺少依赖模块。
我没研究该项目的打包原理,依赖处理不应该是打包程序处理的吗,不知道为啥会存在这种错误。

Cannot use import statement outside a module

I followed the steps at readme (clone, install), but when I run yarn dev, I get the following error

C:\electron-vite-template>yarn dev
yarn run v1.22.19
$ esno .electron-vite/dev-runner.ts
(node:15388) ExperimentalWarning: Custom ESM Loaders is an experimental feature and might change at any time
(Use node --trace-warnings ... to show where the warning was created)
C:\electron-vite-template.electron-vite\dev-runner.ts:3
import electron from "electron";
^^^^^^

SyntaxError: Cannot use import statement outside a module
at internalCompileFunction (node:internal/vm:73:18)
at wrapSafe (node:internal/modules/cjs/loader:1177:20)
at Module._compile (node:internal/modules/cjs/loader:1221:27)
at Module._extensions..js (node:internal/modules/cjs/loader:1311:10)
at Module.load (node:internal/modules/cjs/loader:1115:32)
at Module._load (node:internal/modules/cjs/loader:962:12)
at ModuleWrap. (node:internal/modules/esm/translators:165:29)
at ModuleJob.run (node:internal/modules/esm/module_job:192:25)
at async CustomizedModuleLoader.import (node:internal/modules/esm/loader:246:24)
at async loadESM (node:internal/process/esm_loader:40:7)

Node.js v20.3.1
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Maybe we could use the official `@vue/devtools` package?

作者大大您的这个模板里面用的是electron-devtools-vendor这个包来引入devtools,但是这个包的作者不一定能及时把devtools更新到最新版,所以一些旧版本devtools的bug还在(已经遇到过了).
而现在官方发布了@vue/devtoolsStandalone 版本,可以直接在electron上使用,并发布在了npm,可以及时更新,文档如下
https://devtools.vuejs.org/guide/installation.html#using-dependency-package

不知大佬意见如何?

函数式路由跳转问题咨询

您好!

这两天在使用这个框架时遇到一个问题:

router==>constantRouterMap.ts路由配置如下:
const routes: Array = [
{ path: '/:pathMatch(.)', component: () => import("@renderer/views/404.vue") },//@renderer/components/LandingPage.vue
{ path: '/', name: '登陆', component: () => import('@renderer/views/Login.vue') },
{ path: '/main', name: '主页', component: () => import('@renderer/views/Main.vue') },
]

我在Login.vue里登陆认证成功后,要跳转到Main.vue,在登陆函数写的路由代码如下:
import router from '../router'

  //router.replace('/main');//登陆成功跳转到首页
  router.push({ path: 'main',replace:true })

调试工具控制台显示路由已经成功,且也走到了:router.afterEach(() => {
console.log("页面跳转完整")
})
但是Main.vue页面内容并未显示,需要按F5刷新页面才显示出这个页面内容。

还请指导一下!

discord channel

hi
we can share our information, problems, is there a discord channel

页面dom不会被释放

在页面上加了一个普通的组件,内容大致如下

<script lang="ts" setup> const arr = new Array(1000).join("x").split("x"); </script>

页面上搞了个路由不断切换进去,内存尽然不释放,大佬能帮忙排查一下原因不

yarn build报错

(!) Some chunks are larger than 500 KiB after minification. Consider:

  • Using dynamic import() to code-split the application
    ✔ building main process
    ✔ building renderer process
    › OKAY take it away electron-builder
    • electron-builder version=23.3.3 os=22.1.0
    • loaded configuration file=/Users/nijiabin/code/WebstormProjects/electron-vite-template/build.json
    • writing effective config file=build/builder-effective-config.yaml
    • packaging platform=darwin arch=arm64 electron=18.3.5 appOutDir=build/mac-arm64
    Error: Command failed: electron /Users/nijiabin/code/WebstormProjects/electron-vite-template/.electron-vite/bytecode/electron-compiler.js
    at checkExecSyncError (node:child_process:841:11)
    at execSync (node:child_process:912:15)
    at /Users/nijiabin/code/WebstormProjects/electron-vite-template/.electron-vite/builderHook/byteCodeHook.js:22:9
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    error Command failed with exit code 1.
    info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

大佬,这是什么问题

在mac上打包win:32和win:64,有报错,打包mac正常

⨯ /Users/admin/Library/Caches/electron-builder/nsis/nsis-3.0.4.2/mac/makensis exited with code ERR_ELECTRON_BUILDER_CANNOT_EXECUTE
Output:
Command line defined: "APP_ID=org.sky.electron-vite-template"
Command line defined: "APP_GUID=ddc7aa95-3ed7-5356-91ec-1d62657cfcd6"
Command line defined: "UNINSTALL_APP_KEY=ddc7aa95-3ed7-5356-91ec-1d62657cfcd6"
Command line defined: "PRODUCT_NAME=electron-vite-template"
Command line defined: "PRODUCT_FILENAME=electron-vite-template"
Command line defined: "APP_FILENAME=electron-vite-template"
Command line defined: "APP_DESCRIPTION="
Command line defined: "VERSION=1.0.0"
Command line defined: "PROJECT_DIR=/Users/admin/Workspace/github/electron-vite-template"
Command line defined: "BUILD_RESOURCES_DIR=/Users/admin/Workspace/github/electron-vite-template/build"
Command line defined: "APP_PACKAGE_NAME=electron-vite-template"
Command line defined: "MUI_ICON=/Users/admin/Workspace/github/electron-vite-template/build/icons/icon.ico"
Command line defined: "MUI_UNICON=/Users/admin/Workspace/github/electron-vite-template/build/icons/icon.ico"
Command line defined: "APP_32=/Users/admin/Workspace/github/electron-vite-template/build/electron-vite-template-1.0.0-ia32.nsis.7z"
Command line defined: "APP_32_NAME=electron-vite-template-1.0.0-ia32.nsis.7z"
Command line defined: "APP_32_HASH=AC515DFEAD36BA5741AFEBEA2F3D238A2A1A9E78A4352221E09FCF7E70500C7BD3F284FF65D81819D482EAB0091E522112A00501F12E825E7D2CDE3BEDB6455D"
Command line defined: "COMPANY_NAME=sky"
Command line defined: "APP_INSTALLER_STORE_FILE=electron-vite-template-updater\installer.exe"
Command line defined: "COMPRESSION_METHOD=7z"
Command line defined: "ONE_CLICK"
Command line defined: "RUN_AFTER_FINISH"
Command line defined: "SHORTCUT_NAME=electron-vite-template"
Command line defined: "UNINSTALL_DISPLAY_NAME=electron-vite-template 1.0.0"
Command line defined: "ESTIMATED_SIZE=174328"
Command line defined: "COMPRESS=auto"
Command line defined: "BUILD_UNINSTALLER"
Command line defined: "UNINSTALLER_OUT_FILE=Z:\Users\admin\Workspace\github\electron-vite-template\build__uninstaller-nsis-electron-vite-template.exe"
Processing script file: "" (UTF8)
Plugin directories:
/Users/admin/Library/Caches/electron-builder/nsis/nsis-3.0.4.2/Plugins/x86-unicode

Error output:
Plugin not found, cannot call StdUtils::TestParameter
Error in macro _StdU_TestParameter on macroline 2
Error in macro _isUpdated on macroline 1
Error in macro _If on macroline 9
Error in macro _CHECK_APP_RUNNING on macroline 3
Error in macro CHECK_APP_RUNNING on macroline 4
!include: error in script: "uninstaller.nsh" on line 2
Error in script "" on line 168 -- aborting creation process
failedTask=build stackTrace=Error: /Users/admin/Library/Caches/electron-builder/nsis/nsis-3.0.4.2/mac/makensis exited with code ERR_ELECTRON_BUILDER_CANNOT_EXECUTE
Output:
Command line defined: "APP_ID=org.sky.electron-vite-template"
Command line defined: "APP_GUID=ddc7aa95-3ed7-5356-91ec-1d62657cfcd6"
Command line defined: "UNINSTALL_APP_KEY=ddc7aa95-3ed7-5356-91ec-1d62657cfcd6"
Command line defined: "PRODUCT_NAME=electron-vite-template"
Command line defined: "PRODUCT_FILENAME=electron-vite-template"
Command line defined: "APP_FILENAME=electron-vite-template"
Command line defined: "APP_DESCRIPTION="
Command line defined: "VERSION=1.0.0"
Command line defined: "PROJECT_DIR=/Users/admin/Workspace/github/electron-vite-template"
Command line defined: "BUILD_RESOURCES_DIR=/Users/admin/Workspace/github/electron-vite-template/build"
Command line defined: "APP_PACKAGE_NAME=electron-vite-template"
Command line defined: "MUI_ICON=/Users/admin/Workspace/github/electron-vite-template/build/icons/icon.ico"
Command line defined: "MUI_UNICON=/Users/admin/Workspace/github/electron-vite-template/build/icons/icon.ico"
Command line defined: "APP_32=/Users/admin/Workspace/github/electron-vite-template/build/electron-vite-template-1.0.0-ia32.nsis.7z"
Command line defined: "APP_32_NAME=electron-vite-template-1.0.0-ia32.nsis.7z"
Command line defined: "APP_32_HASH=AC515DFEAD36BA5741AFEBEA2F3D238A2A1A9E78A4352221E09FCF7E70500C7BD3F284FF65D81819D482EAB0091E522112A00501F12E825E7D2CDE3BEDB6455D"
Command line defined: "COMPANY_NAME=sky"
Command line defined: "APP_INSTALLER_STORE_FILE=electron-vite-template-updater\installer.exe"
Command line defined: "COMPRESSION_METHOD=7z"
Command line defined: "ONE_CLICK"
Command line defined: "RUN_AFTER_FINISH"
Command line defined: "SHORTCUT_NAME=electron-vite-template"
Command line defined: "UNINSTALL_DISPLAY_NAME=electron-vite-template 1.0.0"
Command line defined: "ESTIMATED_SIZE=174328"
Command line defined: "COMPRESS=auto"
Command line defined: "BUILD_UNINSTALLER"
Command line defined: "UNINSTALLER_OUT_FILE=Z:\Users\admin\Workspace\github\electron-vite-template\build__uninstaller-nsis-electron-vite-template.exe"
Processing script file: "" (UTF8)
Plugin directories:
/Users/admin/Library/Caches/electron-builder/nsis/nsis-3.0.4.2/Plugins/x86-unicode
Error output:
Plugin not found, cannot call StdUtils::TestParameter
Error in macro _StdU_TestParameter on macroline 2
Error in macro _isUpdated on macroline 1
Error in macro _If on macroline 9
Error in macro _CHECK_APP_RUNNING on macroline 3
Error in macro CHECK_APP_RUNNING on macroline 4
!include: error in script: "uninstaller.nsh" on line 2
Error in script "" on line 168 -- aborting creation process
at ChildProcess. (/Users/admin/Workspace/github/electron-vite-template/node_modules/builder-util/src/util.ts:250:14)
at Object.onceWrapper (node:events:510:26)
at ChildProcess.emit (node:events:390:28)
at maybeClose (node:internal/child_process:1064:16)
at Process.ChildProcess._handle.onexit (node:internal/child_process:301:5)

目前包这里需要怎样协调,我这里的提示如下

electron-vite-template>npm i
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: [email protected]
npm ERR! Found: [email protected]
npm ERR! node_modules/javascript-obfuscator
npm ERR! dev javascript-obfuscator@"^4.0.0" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer javascript-obfuscator@"^0.18.1" from [email protected]
npm ERR! node_modules/rollup-plugin-obfuscator
npm ERR! dev rollup-plugin-obfuscator@"^0.2.1" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR! See C:\Users\wzskyline\AppData\Local\npm-cache\eresolve-report.txt for a full report.

build problem

I delete some code in css but after build it seems not deleted but in dev mode it is deleted

关于Windicss引入问题

在引入windicss插件 在vite.config.ts中 plugins 中增加了 WindiCSS 但是启动加载后发现样式没有及时引入

不支持bytenode

现在electron代码安全性太低,希望能支持bytenode打包

打包一直错误

pnpm i 安装提示要更新依赖 但是dev没问题
1658105833935
但是打包一直错误,提示缺少依赖 安装依赖还是一直报错…………
2222
333
444
5555

__vite-browser-external:path:3 Uncaught Error: Module "path" has been externalized for browser compatibility and cannot be accessed in client code.

在渲染层代码,引用 path 模块报错
请教下,这个怎么解决呀

完整错误信息如下:
__vite-browser-external:path:3 Uncaught Error: Module "path" has been externalized for browser compatibility and
cannot be accessed in client code.
at Object.get (__vite-browser-external:path:3)
at FileBufferTransport._createStream (file.ts:46)
at FileBufferTransport.reload (file.ts:28)
at new FileTransport (file.ts:16)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.