Cordova avec Create-réagir-app
J'ai créé un ReactJs app avec créez-réagir-app et fait ensuite la Production de construire avec npm run build
. Dans mon www dossier créé avec Cordova je viens de copier tous les fichiers à partir de la créez-réagir-application dossier de création et c'est très bien.
Je veux savoir comment faire du crochet dans la Cordoue des événements comme par exemple:
function startApp() {
//your app logic
}
if (window.cordova) {
document.addEventListener('deviceready', startApp, false);
} else {
startApp();
}
Par exemple, je tiens à appeler l'minifiés fichier JS à l'intérieur de startApp()
. Ou est-il un autre flux de travail qui peut être utilisé pour faire de Cordova événements travailler avec réagissent app.
Un petit exemple serait utile.
Est-il possible d'utiliser le fichier de build à tous et il suffit d'utiliser la Réagir Application directement à l'intérieur de Cordoue? Je ne sais pas comment cela pourrait fonctionner étant donné qu'il n'est Webpack paramètres qui transpiles l'ES6 code de ES5 et tous.
Je suis nouveau à Cordoue et aux prises avec cette intégration.
- J'ai compris comment faire les deux et nous publierons ici pour quelqu'un d'autre à la recherche pour la même réponse. Il est assez trivial et il y a peut-être d'autres méthodes , mais c'est ce que wprked pour moi assez bien.
- Salut @barbe noire / Sourav -- pourriez-vous aider sur cette question similaire avec un problème de routage dans un réagir application de cordoue? stackoverflow.com/questions/53384887/... Merci
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé pour faire les deux et nous publierons ici pour quelqu'un d'autre qui cherche la même chose. Il y a peut-être d'autres méthodes pour faire cela , mais c'est ce qui a fonctionné pour moi.
Donc, fondamentalement, nous allons créer une Application Cordova à l'aide de(dis) :
cordova créer testapp com.test.testapp testapp
Cela va me donner une Structure de Dossiers de la manière suivante:
Maintenant à l'intérieur de la testapp dossier nous lancer : créer-réagir-app teastappReact
Qui va ajouter mon réagir application à l'intérieur de testapp dossier.
Vos réagir application dispose d'un principal index.js dans le répertoire /src.
Je l'index.js assurez-vous d'envelopper vos principales de la logique à l'intérieur d'une fonction, puis d'appeler la fonction avec Cordova objet comme suit:
Qui devrait faire maintenant votre application aura Cordova exemple avec l'Appareil des objets comme navigateur.la caméra à l'intérieur de votre application.
Également dans votre réagissent apps index.html qui peut être trouvé dans le dossier public de copier le code html de la index.html que vous trouverez dans le Codova dossier www. Maintenant, nous pouvons supprimer tous les fichiers dans le dossier www. Nous verrons plus tard, manuellement ou via un script de copie de tous les fichiers de réagir apps dossier de création de Cordova dossier www.
Donc mon index.html ressemblerait à quelque chose comme ci-dessous, notez le cordova.js fichier c'est inclus en tant que script.
Enfin dans votre réagissent apps' paquet.json ajouter la ligne suivante:
....
"page d'accueil": "../www"
....
Ce sera assurez-vous que votre dernier fichier de build est pointant vers le droit chemin.
nous pouvons également ajouter les lignes suivantes dans votre colis.json script de construction.
Il peut être robocopy ou cp-r basé sur le système d'exploitation(Windows/Linux, etc)..
Nous devrions avoir notre application Cordova prêt à construire avec
cordova construire android/ios.
cp -a ./build/. ../www/
au lieu de robocopy,-a
est une version améliorée de-r
et le point après la construction s'assure que tous les fichiers cachés sont également copiés si tout$ cordova plugin add cordova-plugin-whitelist
. Par défaut, les navigations seulement à file:// URLs, sont autorisés. Pour permettre à d'autres Url, vous devez ajouter <permettre la navigation> balises à votre config.xml SOJ'ai résolu le problème. Voici ce que j'ai fait en une étape-par-étape pour ceux qui recherchent la solution:
React
projet (créé à l'aide decreate-react-app
) juste à l'intérieur de laCordova
répertoire app.www
dossier deCordova
app.cd
de Réagir dossier du projet (que vous venez de copier/créé) & ouvrirpackage.json
.dependencies
ajouter"homepage": "./",
& à l'intérieur des scripts de changementbuild
à"build": "react-scripts build && robocopy .\\build ..\\www /MIR",
npm run build
dans même (React
's) répertoire & retour à parent (Cordova
) dossier puisbuild
etemulate
votre projet de plate-forme désirée.<Router>
dans votre projet de changement de<HashRouter>
sinon, vous verrez un écran vide que rien ne sera affichée à l'écran.cp -rf ./build/ ../www/
?l'essayer, c'est le meilleur bundle.
aller à readme.md dans le git et de commencer avec ce