electron-vue打包后static中的静态文件访问不到?
1、问题1:在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);
});
2、问题2:在electron中从一个指定地址下载一个.zip文件,我如果想把文件放到打包后的应用程序根目录下,下载时使用item.setSavePath("路径"+\\${item.getFilename()}
);设置下载位置时,路径该怎么写呢?(还是说保存到其它位置)
mainWindow.webContents.session.on('will-download', (event, item, webContents) => {
//如果要保存到打包后的应用程序根目录下,这里的保存路径怎么写呢?
item.setSavePath(保存路径+`\\${item.getFilename()}`);
item.on("updated",(event,state)=>{
const totalBytes=item.getTotalBytes();
mainWindow.setProgressBar(item.getReceivedBytes()/totalBytes);
mainWindow.webContents.send("downloadTips",`下载中: ${Math.round(item.getReceivedBytes()/totalBytes*100)}%`);
if(state=="interrupted"){
console.log("下载中断,但可以恢复");
}else if(state=="progressing"){
console.log("暂停下载");
}else{
console.log(`下载中: ${item.getReceivedBytes()}`)
}
})
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
electron-builder打包后,会生成一个.asar文件,是属于只读的,而且打包后发现__static并找不到静态文件,可以手动path.join(__dirname, '/static')来寻找静态文件
如果需要操作文件的话,需要存放在userData 下,或者设置asar:false