Scala 引用不存在的类java.io.File

Scala 引用不存在的类java.io.File,scala,scala.js,scalajs-react,Scala,Scala.js,Scalajs React,这个问题看起来基本相同,但在细节上似乎有所不同。我没有在build.sbt中指定JVM版本 我正在尝试使用scala.io.Source或java.io.file访问scalajs应用程序中的文件。一旦我尝试使用其中一个,我就会收到链接失败: ... [info] Fast optimizing C:\Users\Tim\Documents\GitHub\binpack\target\scala-2.11\binpack-fastopt.js [error] Referring to non-e

这个问题看起来基本相同,但在细节上似乎有所不同。我没有在build.sbt中指定JVM版本

我正在尝试使用scala.io.Source或java.io.file访问scalajs应用程序中的文件。一旦我尝试使用其中一个,我就会收到链接失败:

...
[info] Fast optimizing C:\Users\Tim\Documents\GitHub\binpack\target\scala-2.11\binpack-fastopt.js
[error] Referring to non-existent class java.io.File
[error]   called from client.jsClient$.onFileChosen(japgolly.scalajs.react.SyntheticEvent)scala.Function0
...
有没有一种方法可以让我诊断这里发生了什么?我假设这个问题不是java.io.File特有的,但不知道下一步会是什么


这是scala 2.11.8,sbt为0.13.7。

java.io.File不可移植到scala.js,因为它专门绑定到JVM。有关更多详细信息,请参见(仅滚动至最底部)


因此,如果您想在Scala.js中执行文件系统IO,您需要使用专门为JavaScript实现的解决方案,如IO.js。这里有一个例子:

谢谢你的解释。看起来还有其他方法可以读取不需要使用node.js的文件@Timbarass如果用户在
元素中选择了文件,则
文件读取器
API可以读取该文件,右键。但它不能读取用户计算机上的任意文件。