Windows 10下使用Tabris.js读写文件失败问题求助
Tabris.js 文件读写报错:No such file or directory 解决办法
我来帮你搞定这个问题!你在Windows 10上用Tabris.js尝试写文件时遇到的No such file or directory错误,核心原因很简单:你要写入的目标目录/local/src/根本不存在。
先看你贴的代码:
const {fs} = require('tabris'); let path=fs.filesDir + '/src/hello.txt' console.log(path) fs.writeFile(path, 'Hello World!', 'ascii') .then(() => console.log('file written:', path)) .catch(err => console.error(err));
fs.filesDir返回的是Tabris.js应用的私有数据目录,这个目录初始化时只有根目录,没有src子文件夹。直接往不存在的目录里写文件,自然会触发报错。
解决办法也很直接——先创建目标目录,再写入文件。Tabris.js的fs.mkdir方法支持recursive参数,能自动创建层级目录,不用手动一层一层搭建。
修改后的代码如下:
const {fs} = require('tabris'); let path = fs.filesDir + '/src/hello.txt'; let srcDir = fs.filesDir + '/src'; // 先递归创建src目录(如果不存在的话) fs.mkdir(srcDir, {recursive: true}) .then(() => fs.writeFile(path, 'Hello World!', 'ascii')) .then(() => console.log('file written:', path)) .catch(err => console.error(err));
这里额外提醒一句:Tabris.js的文件操作是基于应用沙盒的,fs.filesDir是官方推荐的安全读写区域,不要尝试访问沙盒外的路径,否则不仅会报错,还会影响跨平台兼容性(比如在iOS、Android上也会出问题)。
内容的提问来源于stack exchange,提问作者mrmccormack
相关产品推荐
相关产品推荐

