[英]Serve cordova.js remotely in PhoneGap 3.x
使用PhoneGap 2.x
我可以通过使应用程序在change
从服务器上拉下新资产来快速开发应用程序,而不必每次都重新部署到设备上。
我可以包含cordova.js
并将其与其他资产一起发送,效果很好。
我实际的PhoneGap应用程序只是一个具有window.location = "my/dev/server"
的外壳,直到需要分发它们为止,此时我会将资产打包在本地。
我似乎无法使用3.x
做到这一点。 :(
我可以查看所需的cordova.js
但它“需要”很多其他资产。 也许是充满咕gr声的过程?
这些资产(cordova.js +需求树)是如何包装的? 以及如何将它们捆绑到一个文件中以在开发环境中进行远程服务? <- an answer to these questions gets the bounty
我不确定为什么它在3.x上不适合您,但是肯定可以重新构建JS文件并提供服务。
这些资产(cordova.js +需求树)是如何包装的?
在将它们打包在一起之前,它们都被布置在不同的模块中(通用,exec,util,特定于平台的实现等),然后有一个grunt脚本将所有内容打包在一起。
以及如何将它们捆绑到一个文件中以在开发环境中进行远程服务?
如果您要做的只是获取cordova.js的新版本,则应该能够自己下载所有JS源代码并自己运行grunt脚本来压缩所有内容。
来源可在这里找到: https : //github.com/apache/cordova-js
要求您已安装了node.js,npm和grunt,但如果没有安装,则说明在自述文件中。
下载源,然后运行
grunt
在根目录中,您应该在“ pkg”目录中找到“ cordova.ios.js”,以及用于其他平台的相同文件。 那应该是您要查找的“ cordova.js”。
我认为这应该对您有所帮助,但如果没有,请随时提出。
我不知道这是否对您有帮助,但这是我对cordova 3.X的理解:
因此,我认为如果导入cordova.js,cordova_plugins.js和plugins文件夹可能会起作用。
对于仍然有兴趣的人,我创建了一个脚本,该脚本将Cordova 3.X所需的所有cordova文件打包在一起,包括一个文件中的插件,您可以从服务器端进行服务。 仅在cordove 3.4中测试。
它支持最小化和添加以及md5签名。
查看Cordova Loader,它可以编译资产并将其存储在服务器中: https : //github.com/andrewreedy/cordova-loader
最终,我设法将包括插件的 cordova.js打包到一个平台JS文件中,并使其工作。 现在,只需从2.9.1替换原始的cordova.js(并当然升级本机部分),就可以从2.9升级到3.x,4.x。 希望这能解决问题。 我感到困惑的是,为什么cordova不提供此功能,而是动态地包含这些文件。
希望这是有用的,并节省了我花了2天时间才解决的其他人。
#!/bin/bash
echo rm -r CordovaPseudoProject
rm -r CordovaPseudoProject
cordova create CordovaPseudoProject com.pseudo.CordovaPseudoProject CordovaPseudoProject
cd CordovaPseudoProject/
cordova platform add ios
cordova plugin add org.apache.cordova.device
cordova plugin add org.apache.cordova.device-motion
cordova plugin add org.apache.cordova.device-orientation
cordova plugin add org.apache.cordova.geolocation
cordova plugin add org.apache.cordova.camera
cordova plugin add org.apache.cordova.dialogs
cordova plugin add org.apache.cordova.vibration
cordova plugin add org.apache.cordova.console
cordova prepare
# concat all plugin files into a single file
IFS=$'\n' # make newlines the only separator
cd platforms/ios/www
## extract plugin files
grep '"file":' cordova_plugins.js | sed 's/.* "//g' | sed 's/",//g' > tmp_junk_tmpq
cat cordova_plugins.js > cat_plugins.js
for j in `cat tmp_junk_tmpq` ; do
echo "cat $j >>cat_plugins.js"
cat $j >> cat_plugins.js
done
rm tmp_junk_tmpq
# overwrite cordova_plugins.js with concatenated version
#echo cp cat_plugins.js cordova_plugins.js
#cp cat_plugins.js cordova_plugins.js
echo cat cordova.js cat_plugins.js to cordova_platform_complete.js
cat cordova.js cat_plugins.js > cordova_platform_complete.js
cd $CUR_WD
echo "CREATED CordovaPseudoProject/platforms/ios/www/cordova_platform_complete.js"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.