cordova-plugin-crypt-file - requireCordovaModule 错误
cordova-plugin-crypt-file - requireCordovaModule error
我刚刚将 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.
看起来问题出在文件 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;
所以我将所有 context.requireCordovaModule 更改为简单的要求。它产生新的错误消息:
Cannot find module 'cordova-lib/src/cordova/util'
拜托,有人可以帮我解决吗?或者,有没有其他插件?
我遇到了同样的问题。您需要将 cordova 降级到版本 8.1.2
npm uninstall -g cordova
npm cache clean --force
npm i -g cordova@8.1.2
请使用以下插件:
https://github.com/PeterHdd/cordova-plugin-crypto-file
它基于cordova-plugin-crypt-file
。
上面的插件是为 cordova-plugin-ionic-webview
设计的,我已经更新了插件,现在它可以与 cordova 9 一起使用,所以不需要降级。
要安装它,请执行以下操作:
npm i cordova-plugin-crypto-file@latest
最新版本 1.4.0 修复了 cordova 9 问题。
此修复适用于 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"平台。
我刚刚将 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.
看起来问题出在文件 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;
所以我将所有 context.requireCordovaModule 更改为简单的要求。它产生新的错误消息:
Cannot find module 'cordova-lib/src/cordova/util'
拜托,有人可以帮我解决吗?或者,有没有其他插件?
我遇到了同样的问题。您需要将 cordova 降级到版本 8.1.2
npm uninstall -g cordova
npm cache clean --force
npm i -g cordova@8.1.2
请使用以下插件:
https://github.com/PeterHdd/cordova-plugin-crypto-file
它基于cordova-plugin-crypt-file
。
上面的插件是为 cordova-plugin-ionic-webview
设计的,我已经更新了插件,现在它可以与 cordova 9 一起使用,所以不需要降级。
要安装它,请执行以下操作:
npm i cordova-plugin-crypto-file@latest
最新版本 1.4.0 修复了 cordova 9 问题。
此修复适用于 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"平台。