我正在使用Cordova File,Cordova FileTransfer和Cordova Device API下载文件,并检查了Windows XDK应用程序中的所有文件,但cordova.file在cordova人行横道版本中未定义,我在Cordova Windows版本中使用相同的版本和相同的代码(使用cmd),有用.
英特尔XDK ver 1621
org.apache.cordova.file:1.3.2
我在正文末尾的html:
<script src="./cordova.js"></script>
<script src="./intelxdk.js"></script>
<script>
function onDeviceReady() {
console.log(cordova.file);
alert(cordova.file);
}
document.addEventListener("deviceready", onDeviceReady, false);
</script>
还有其他解决方案来获取cordova.file.dataDirectory吗?
还是我可以等待另一个版本来管理它?
解决方法:
仅供参考:
XDK(1621)中使用的org.apache.cordova.file版本为1.1.0,并且没有cordova.file,因此我将XDK中的文件插件版本更改为1.3.2,由于使用了Emulator或Debugger(使用XDK,因此没有结果)人行横道应用程序)
我确定使用此方法可以包含File插件:
JSON.stringify(cordova.require('cordova/plugin_list').metadata, null, 1)
但是仿真器和调试器继续使用版本1.1.0
然后,我从XDK的BUILD页面构建它,并且可以使用版本1.3.2进行显示.问题解决了.
抱歉,我没有在发布之前尝试过,但是每次在我的防御体系中下载,然后在设备上安装它都花费了很多时间,例如每次测试需要20分钟,这不是很合理.
更新模拟器插件
当我发现XDK在模拟器中使用默认版本的插件时,决定在Windows的XDK文件夹中手动更新插件:
%LOCALAPPDATA%\Intel\XDK\xdk\components\server\cordova-plugins
我刚刚删除了org.apache.cordova.file文件夹,并从https://github.com/apache/cordova-plugin-file获得了新的克隆,以便在模拟器中使用更新的版本进行测试.
在Intel App Preview中使用更新的插件(这可能会导致其他选项卡出现问题)
只需更新Windows中此文件夹中的插件即可:
%LOCALAPPDATA%\Intel\XDK\xdk\brackets\b\extensions\default\StaticServer\node\node_modules\cp\res\middleware\cordova\intel-app-preview\android\plugins
且Debugger与更新的插件配合良好.
易于更新
在每个文件夹中从git克隆如下:
在文件夹org.apache.cordova.file中
git init && git remote add origin https://github.com/apache/cordova-plugin-file.git && git pull
现在您在git中拥有所有版本.
要更新所有插件,您可以在插件根目录中运行以下bash命令:(在Windows中,使用Git Bash)
for i in $(find $PWD -maxdepth 1 -type d); do echo $i && cd $i && git pull; done