electron-vue中使用electron-builder打包后静态文件路径问题

请教 各位大佬两个小问题:问题一:在electron-vue中的static文件夹下面放了一个posBase.db,开发环境下可以读取到,使用electron-builder打包后就读取不到了,这个static文件中的静态文件路径在哪呢?
const sqlite3=require("sqlite3");
const path=require("path");
const dbPath=path.join(__static,"/POSBase.db");
console.log("db库文件位置:"+dbPath);
const db=new sqlite3.Database(dbPath);
export default{
name:'Sqlite3',
methods:{
getSqlite3(){
db.all("select * from m_dim_webpos",function(err,res){
console.log("数据库文件:");
if(!err){
console.log(res);
}else{
console.log(err);
}

})
}
}
}

二、同样在static文件夹中有一个exe文件,在开发环境下,可以调用,打包后调用路径也不对。
childprocess.exec(path.resolve(__static,"7za.exe"),(err,stdout,stderr)=>{
if(err){
console.log(err);
return false;
}
console.log(stdout);
this.$message({
type:"success",
message:stdout
})
});
已邀请:

wwh1253

赞同来自:

您好,请问后来问题解决了吗,我也遇到了这个问题?

cmh2016

赞同来自:

我博客里写了解决方法,不能发外链,思路如下
node-ffi 调用 dll,打包时asar为true时报错问题
因为asar模式下为只读文件,导致ffi报错,issue上也有提问,没有解答
各种文档查看后,发现”asarUnpack”,所以才有下曲线救国的方案


"asarUnpack":[
"./dist/electron", // dll文件等
"node_modules/ffi" // ffi不压缩
],
 
if (process.env.NODE_ENV !== 'development') {
__static = __static.replace('app.asar', 'app.asar.unpacked')
}

要回复问题请先登录注册