无法使用 PhantomJS runner 调用 require('fs')
Cannot call require('fs') with PhantomJS runner
我一直在尝试在 PhantomJS 中使用 FS API,但是当我 运行 以下代码
时,出现了一个我无法理解的错误
private[scalajssupport] object PhantomFile {
val fs: PhantomFS = js.Dynamic.global.require("fs").asInstanceOf[PhantomFS]
}
我得到的错误是:
TypeError: undefined is not a constructor (evaluating '$g["require"]("fs")')
然而,当我运行
var fs = global["require"]("fs")
直接在 PhantomJS REPL 中,它工作正常。
原来在使用PhantomJS对运行scala.js代码时,是运行在一个沙箱里,里面有"webpage"模块,没有权限访问要求。
写入文件系统的唯一方法是在 onCallback, as seen in the answer to this Whosebug question 中定义回调。
我一直在尝试在 PhantomJS 中使用 FS API,但是当我 运行 以下代码
时,出现了一个我无法理解的错误private[scalajssupport] object PhantomFile {
val fs: PhantomFS = js.Dynamic.global.require("fs").asInstanceOf[PhantomFS]
}
我得到的错误是:
TypeError: undefined is not a constructor (evaluating '$g["require"]("fs")')
然而,当我运行
var fs = global["require"]("fs")
直接在 PhantomJS REPL 中,它工作正常。
原来在使用PhantomJS对运行scala.js代码时,是运行在一个沙箱里,里面有"webpage"模块,没有权限访问要求。
写入文件系统的唯一方法是在 onCallback, as seen in the answer to this Whosebug question 中定义回调。