2

我在 Windows 10 上,尝试使用 Tabris.js 读写一个简单的文本文件

console.log 报告:

/local/src/hello.txt
Error: No such file or directory: /local/src/hello.txt

代码:

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));

Tabris.js 参考:

澄清:

如果我让它工作,我将做一个非常简单的教程。

Tabris 运行良好,没有问题,但由于查找文件时出错,我无法读取或写入文件。我已经尝试了十几种东西的组合,有点,没有点等 - 没有运气。尝试了 __directory、fs.filesDir 等,因此路径不会被硬编码,没有任何效果。

Tabris 文件夹和文件位置:

C:\Users\Rob Acer Aspire 3\junk\package.json
C:\Users\Rob Acer Aspire 3\junk\src\app.js

塔布里斯 2.4

感谢所有的帮助。

更新 - 让它工作......

它现在似乎可以工作,代码如下。我假设 hello.txt 将在我的 /src 文件夹中,或者至少在我的名为“垃圾”的 tabris 文件夹中,它正在写入另一个文件夹。似乎文档在这方面是正确的,因为他们说应用程序可以用来存储持久文件的目录的路径。

  let file = fs.filesDir + '/hello.txt';
  //  ok, this works.. > file written: /local/hello.txt
  // and is located in:
  // C:\Users\Rob Acer Aspire 3\AppData\Local\Packages\EclipseSource.Tabris.js2_en185yn5qwkmw\LocalState\hello.txt

我不明白/local/hello.txt真正的意思

所以,我的问题得到了解答,谢谢你的帮助。

4

2 回答 2

0

在窗户上

"/local/src/hello.txt 

相当于

"c:\local\src\hello.txt"

为了使路径在您的应用程序目录中开始,您应该在当前应用程序目录中使用“./”为路径加注,因此在您的情况下

"./local/src/hello.txt" 

如果你想返回一个目录,你可以从“../”开始

于 2018-03-24T15:49:12.353 回答
0

它现在可以使用,代码如下。我假设 hello.txt 将在我的 /src 文件夹中,或者至少在我的名为“垃圾”的 tabris 文件夹中,它正在写入另一个文件夹。正如他们所说,文档似乎对此是正确的:

应用程序可用于存储持久文件的目录路径。

  let file = fs.filesDir + '/hello.txt';
  //  ok, this works.. > file written: /local/hello.txt
  // and is located in:
  // C:\Users\Rob Acer Aspire 3\AppData\Local\Packages\EclipseSource.Tabris.js2_en185yn5qwkmw\LocalState\hello.txt

我不明白/local/hello.txt真正的意思

于 2018-03-30T17:42:50.823 回答