[
https://issues.apache.org/jira/browse/CB-5671?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13851821#comment-13851821
]
Andrew Grieve commented on CB-5671:
-----------------------------------
Totally agree that being more flexible here would be a great thing.
> facilitate dynamic loading of cordova plugins
> ---------------------------------------------
>
> Key: CB-5671
> URL: https://issues.apache.org/jira/browse/CB-5671
> Project: Apache Cordova
> Issue Type: Improvement
> Components: CordovaJS
> Affects Versions: 3.2.0
> Environment: any
> Reporter: Jon Whitlock
> Labels: javascript
>
> Problem: Cordova expects resources to be loaded off the device filesystem.
> 1) On iOS this is very risky due to the turnaround time pushing hotfixes
> through the App store.
> 2) In complex JS applications one needs to use a loader like require.js to
> manage async loading (especially on mobile) & module dependancy management
> (as cordova does internally).
> 3) When integrating with many 3rd-party services like auth/"social login" one
> needs to have a public-facing page to call back to.
> Use case: We have a bunch of prereqs before cordova.js loads, so we have to
> load cordova.js using require.js. However to show localised error messages
> we need the preferred language from the device to know which language to show
> messaging in, so we need cordova loaded as part of auth prerequisites.
> Problematic Assumptions:
> a) findCordovaPath() assumes a script tag in the document loaded cordova.js
> -- not the case with require.js or similar.
> b) injectPluginScript() assumes that cordova_plugins.js is in the same dir as
> cordova.js
> So using plugins & dynamically loading Cordova is terminal, unless I hack
> findCordovaPath() to return (in our case) the path where cordova.js is to be
> found -- which is defined in a JS configuration file.
> I think it would be more robust to define the location of those file(s) in a
> config file somewhere -- which could also facilitate dynamic loading of
> cordova.
--
This message was sent by Atlassian JIRA
(v6.1.4#6159)