electron-vue 的路径问题

1 问题来源

在使用sqlite3的时候,需要创建数据库表时,这时候很容易出现这个问题!!!提示:SQLITE_CANTOPEN unable to open database file
nodejs中内置了变量__dirname,electron-vue中内置了变量__static。在开发阶段的过程中,使用这两个变量来创建文件是没有问题。
例如当我使用path.join(__static,‘password.db’),然后想要创建这个password.db文件时,在开发阶段是没有问题,会成功创建。程序也能正常运行。但是!!打包之后,__dirname和__static的路径会被改写!!!

  • 假设打包过后的项目根路径为:F:\win-unpacked
  • __dirname和__static这两个路径将变为了:F:\win-unpacked\resources\app.asar
    • 路径多了resources\app.asar
    • 并且app.asar本身是electron打包生成的资源文件!!本身存在。所以你无法基于__dirname或者__static创建文件或文件夹!!

2 解决方案

将__dirname和__static 中的 "\app.asar"替换成空字符串。
即 path.join(__dirname.replace(‘app.asar’,‘’),‘password.db’)

这个错误我查了好久。。。直到我在界面当中展示了这个路径才知道这么回事。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值