Je viens de mettre à niveau Cordova vers la version 9. Il a mis le plugin cordova-plugin-crypt-file pour arrêter de fonctionner - quand je construis l'application, j'obtiens l'erreur
Cannot find module 'cordova-lib/src/cordova/util'
Cela ressemble au problème est avec le fichier hooks / after_prepare.js. Le code est
var path = context.requireCordovaModule('path'), fs = context.requireCordovaModule('fs'), crypto = context.requireCordovaModule('crypto'), Q = context.requireCordovaModule('q'), cordova_util = context.requireCordovaModule('cordova-lib/src/cordova/util'), platforms = context.requireCordovaModule('cordova-lib/src/platforms/platforms'), Parser = context.requireCordovaModule('cordova-lib/src/cordova/metadata/parser'), ParserHelper = context.requireCordovaModule('cordova-lib/src/cordova/metadata/parserhelper/ParserHelper'), ConfigParser = context.requireCordovaModule('cordova-common').ConfigParser;
J'ai donc changé tous les context.requireCordovaModule en simplement require. Il produit un nouveau message d'erreur:
Using "requireCordovaModule" to load non-cordova module "path" is not supported. Instead, add this module to your dependencies and use regular "require" to load it.
S'il vous plaît, quelqu'un pourrait-il m'aider à corriger? Ou existe-t-il un autre plugin?
3 Réponses :
J'ai eu le même problème. Vous devez rétrograder cordova vers la version 8.1.2
npm uninstall -g cordova npm cache clean --force npm i -g cordova@8.1.2
Oui, c'était aussi ma solution, mais une fois que nous devons mettre à niveau Cordova et que le plugin n'est pas maintenu, nous devons le réparer nous-mêmes.
Veuillez utiliser le plugin suivant:
https://github.com/PeterHdd / cordova-plugin-crypto-file
Il est basé sur le cordova-plugin-crypt-file
.
Le plugin ci-dessus était conçu pour fonctionner avec cordova-plugin-ionic-webview
, j'ai mis à jour le plugin et maintenant il fonctionne avec cordova 9, il n'est donc pas nécessaire de rétrograder.
Pour l'installer procédez comme suit:
npm i cordova-plugin-crypto-file@latest
la dernière version 1.4.0 corrige le problème de cordova 9.
Cela fonctionne depuis un moment. N'obtenez-vous pas que le fichier est chiffré avant la fin de la construction? Les fichiers sont chiffrés avant la construction et déchiffrés lors de l'exécution.
Je viens de le tester à nouveau imgur.com/a/71SFcEe , il fonctionne normalement. Veuillez me dire ce que vous essayez de faire si vous rencontrez un problème. @ MD.Riyaz
@ MD.Riyaz quel était le problème?
@Peter_Haddad Ouais.
@ MD.Riyaz oui, mais qu'est-ce que c'était?
Je ne sais pas, mais le plugin supprime puis réinstalle son bon fonctionnement.
Ce correctif fonctionne pour moi sur Cordova 9.0, cordova-ios:
Dans le fichier:
cordova-plugin-crypt-file / hooks / after_prepare.js
, remplacez:
var path = require('path'), fs = require('fs'), crypto = require('crypto'), Q = require('q'), cordova_util = context.requireCordovaModule('cordova-lib/src/cordova/util'), platforms = context.requireCordovaModule('cordova-lib/src/platforms/platforms'), ConfigParser = context.requireCordovaModule('cordova-common').ConfigParser;
par:
var path = context.requireCordovaModule('path'), fs = context.requireCordovaModule('fs'), crypto = context.requireCordovaModule('crypto'), Q = context.requireCordovaModule('q'), cordova_util = context.requireCordovaModule('cordova-lib/src/cordova/util'), platforms = context.requireCordovaModule('cordova-lib/src/platforms/platforms'), Parser = context.requireCordovaModule('cordova-lib/src/cordova/metadata/parser'), ParserHelper = context.requireCordovaModule('cordova-lib/src/cordova/metadata/parserhelper/ParserHelper'), ConfigParser = context.requireCordovaModule('cordova-common').ConfigParser;
Puis supprimez la plate-forme "ios" générée dossier et ajoutez à nouveau la plate-forme "ios".
Sry, pas encore. Je dois d'abord terminer le projet. Je ne veux pas risquer mes délais en expérimentant le code.