电子版:1.2操作系统:Windows
无法使用readFileSync访问asar存档中的文件:
var fs = require('fs');
var SQL = require('sql.js');
var filebuffer = fs.readFileSync('asar:'+ __dirname + './app/data/sample.db');
I've also tried using
trial 1 : readFileSync('D:/Sample-App/app.asar/app/data/sample.db');
trial 2 : readFileSync('./app/data/sample.db');
trial 3 : process.noAsar= true;
readFileSync('./app/data/sample.db');Run Code Online (Sandbox Code Playgroud)
没有一项试验成功.如果我在不使用app.asar的情况下尝试,我就能够访问db文件.所以请帮我解决这个问题.
我假设你的意思是,一旦你的应用程序打包到asar,你的文件路径不起作用.
Run Code Online (Sandbox Code Playgroud)fs.readFileSync('asar:'+ __dirname + './app/data/sample.db')
这很接近.你不需要"asar:",你应该使用路径模块让你的生活更轻松.
尝试使用动态构建路径path.您的主要入口点JS可能已经在app文件夹中运行.尝试这样的事情:
path.join(__dirname, '/data/sample.db');
Run Code Online (Sandbox Code Playgroud)
这将为每个操作系统创建一个有效的绝对路径(Windows中的路径使用\,而OSX和Linux使用/).请记住__dirname,无论您当前的目录是什么,所以之后的所有内容都必须与之相关.
| 归档时间: |
|
| 查看次数: |
5289 次 |
| 最近记录: |