【发布时间】:2021-06-16 07:26:50
【问题描述】:
我正在使用 Cordova CLI 9.0、Cordova-Android 9.0 和 Ionic 4 Web 应用程序。它运行正常,但我的插件不断收到这些错误:
"Uncaught module cordova-plugin-splashscreen.SplashScreen already defined"
"Uncaught module cordova-plugin-statusbar.statusbar already defined"
"Uncaught module org.apache.cordova.plugin.bluetooth.bluetooth already defined"
"Uncaught module cordova-plugin-geolocation.geolocation already defined"
"Uncaught module cordova-plugin-device.device already defined"
"Uncaught module org.apache.cordova.plugin.platformevent.platformEvent"
"Uncaught module de.fastr.phonegap.plugins.injectView.inject already defined"
"Uncaught module org.apache.cordova.plugin.platformevent.msrEvent already defined"
"Uncaught module cordova-plugin-screen-orientation.screenorientation"
"Uncaught module cordova-plugin-geolocation.PositionError already defined"
"Uncaught module cordova-plugin-inappbrowser.inappbrowser already defined"
我已经查看了多个 stackoverflow 问题,包括下面发布的 2 个,但似乎都不是我的问题:
Cordova plugin error: "Uncaught module ... already defined"
Error in Phonegap Application: Uncaught module cordova/plugin_list already defined
我看到 cordova_plugins.js 仅在位于 Injecter.java 文件中的三个位置被引用:
- (Cordova Wrapper)/android/plugins/de.fastr.phonegap.plugins.injectView/src/android/engine/Injecter.java
- (Cordova Wrapper)/android/app/src/main/java/de/fastr/phonegap/plugins/Injecter.java
- (Ionic Web 应用)/internal_plugins/injectview-cordova-plugin/src/android/engine/Injecter.java
作为:
InputStream ims = assetManager.open("www/cordova_plugins.js");
我需要删除其中一个引用吗?或者您对可能导致此错误的原因有任何其他想法吗?另外,这个错误是否会减慢我的应用程序的速度?它似乎只发生在初始负载上。在检查它是否已经存在时,它看起来像是一个简单的抛出错误。这是它陷入的错误代码:
define = function (id, factory) {
if (Object.prototype.hasOwnProperty.call(modules, id)) {
throw new Error('module ' + id + ' already defined');
}
modules[id] = {
id: id,
factory: factory
};
};
感谢您的帮助!如果您需要任何其他信息来更好地理解这个问题,请告诉我!
【问题讨论】: