Cordovaをバージョン9にアップグレードするだけです。プラグインcordova-plugin-crypt-fileが機能しなくなる-アプリケーションをビルドすると、エラーが発生します。
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.
問題は、ファイルフック/after_prepare.jsにあるようです。コードは
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;
そこで、すべてのcontext.requireCordovaModuleを単純なrequireに変更しました。新しいエラーメッセージが表示されます。
Cannot find module 'cordova-lib/src/cordova/util'
どうか、誰かが修正を手伝ってくれる?または、代替プラグインはありますか?
この修正は、Cordova 9.0、cordova-iosで動作します。
ファイル:
cordova-plugin-crypt-file/hooks/after_prepare.js
、置き換えます:
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;
と:
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;
次に、生成された「ios」プラットフォームフォルダーを削除し、「ios」プラットフォームを再度追加します。