SimulatedGREG / electron-vue

An Electron & Vue.js quick start boilerplate with vue-cli scaffolding, common Vue plugins, electron-packager/electron-builder, unit/e2e testing, vue-devtools, and webpack.
https://simulatedgreg.gitbooks.io/electron-vue/content/
MIT License
15.46k stars 1.54k forks source link

electron-vue打包后static中的静态文件访问不到? #1051

Closed haomehaode closed 3 years ago

haomehaode commented 3 years ago

在electron-vue中的static文件夹下放了一个7za.exe文件,希望在electron中使用childprocess.exec来调用,在npm run dev环境下使用path.join(__static,"7za.exe")可以访问到,但是打包后,这里的static中的7za.exe文件会被打包放到哪里了呢?(把包使用的是electron-vue自带的electron-builder。)

代码: //这里是想使用nodejs的进程调用.exe文件。 childprocess.exec(path.join(__static,"7za.exe")(err,stdout,stderr)=>{ if(err){ console.log(err); return false; } console.log(stdout); });

npm run build之后dist下的static文件夹中有该.exe文件 npm run dev可以正常运行并打开.exe

VitaminC1989 commented 3 years ago

打包后想操作static文件夹下的文件,有以下解决方案

  1. 可以使用userData存放
  2. 可以设置asar为false,详细配置参照上面写的配置文件
  3. 看官方文档有一种asar可以直接将文件放置在app.asar外的写法 详情可以查看
    https://segmentfault.com/a/1190000017296201 【我是一个没有感情的答案搬运工】
qiufeihong2018 commented 3 years ago

builder的配置 extraResources 控制是否被打包,用这个就能解决你的问题

lvbirui commented 3 years ago

builder的配置 extraResources 控制是否被打包,用这个就能解决你的问题

兄弟,你能不能说具体点。。。。。

haomehaode commented 3 years ago

可以设置asar为false,详细配置参照上面写的配置文件