未捕获的模块插件已定义 - Cordova 9.0

Uncaught module plugin already defined - Cordova 9.0

我正在使用 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"

我已经查看了多个 Whosebug 问题,包括下面发布的 2 个问题,但似乎都不是我的问题:

Error in Phonegap Application: Uncaught module cordova/plugin_list already defined

我看到 cordova_plugins.js 仅在位于以下位置的 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
    };
};

感谢您的帮助!如果您需要任何其他信息来更好地理解这个问题,请告诉我!

我找到了 2 个在 cordova_plugins 上调用函数的不同位置。我从 phonegap/plugins Injecter 中注释掉了这些函数,它似乎消除了所有错误。

Injecter.getInstance().injectJavascriptFile("www/cordova");
Injecter.getInstance().injectJavascriptFile("www/cordova_plugins");  
Injecter.getInstance().parseCordovaPlugins();
Injecter.getInstance().injectJavascriptFile("www/js/index");

也许它以某种方式安装到 2 个不同的位置,但并不需要安装?不确定其他人是否会 运行 这样做,但以防万一。