我有一个角度/离子应用程序,建立在多个移动平台的cordova之上。现在我想将它扩展到桌面。我在电子中运行了Web视图文件夹(www/
),除了一些cordova文件系统API之外,一切正常。
对我来说有没有办法,以便我可以使用电子中提供的Node FS API包装/修改这些cordova API?
答案 0 :(得分:2)
Apache有一个cordova-electron项目,但是文档很少。我不知道任何其他类似的项目。
最有可能的是,您必须抽象出您的FS API调用,并创建自己的函数,以便在两种环境中完成所需的操作。您可能还会考虑文件系统布局中的其他一些差异。
例如,如果要读取文件并保存文件,可以创建两个函数:
readFile(name, callback) {
if (RUNNING_IN_ELECTRON) {
// use Node API
} else {
// use Cordova API
}
}
writeFile(name, data, callback) {
if (RUNNING_IN_ELECTRON) {
// use Node API
} else {
// use Cordova API
}
}
你可以检测到你在Electron中运行,例如通过测试process.versions['electron']
或者您可以测试您是否在Cordova中运行,例如测试window.cordova
。