当前位置: 首页 > 知识库问答 >
问题:

Ionic V4-Build Prod“找不到cordova.js脚本标记。插件加载可能失败。”

那谦
2023-03-14

在Ionic v4中,当我在生产模式下运行捆绑的应用程序时(Ionic cordova build android--prod),控制台说“找不到cordova.js脚本标签”。插件加载可能会失败。和应用程序的一些东西,如字体卸载(我看到Roboto字体,而不是我的自定义字体)。否则,当我尝试html" target="_blank">编译没有生产模式**(离子科尔多瓦构建Android)**,应用程序运行没有控制台错误。

我的爱奥尼亚信息:

ionic(ionic CLI):4.12.0 ionic框架:@ionic/angular 4.2.0@angular devkit/build angular:0.13.8@angular devkit/schematics:7.2.4@angular/CLI:7.3.8@ionic/angular toolkit:1.4.1

科尔多瓦:

cordova(cordova CLI):8.1.2(cordova-lib@8.1.1)Cordova平台:android 7.1.4 Cordova插件:Cordova插件爱奥尼亚键盘2.1.3,Cordova插件爱奥尼亚网络视图3.1.2,(和7个其他插件)

有人也面临这个问题吗?

干杯

共有3个答案

鲁品
2023-03-14

临时固定与angular.json配置通过设置优化:假输出哈希:无

"configurations": {
        "production": {
          ...
          "optimization": false,
          "outputHashing": "none",
          "sourceMap": false,
          "extractCss": true,
          "namedChunks": false,
          "aot": true,
          "extractLicenses": true,
          "vendorChunk": false,
          "buildOptimizer": true,
          ...
        },
        ...
      }
陶朝明
2023-03-14

当我从离子3迁移到离子4时,我也有同样的问题。在我启动一个新项目(默认为选项卡)并复制代码后,它就消失了。

似乎有人找到了解决办法:

我不再有那个问题了。有棱角的。json,我将buildOptimizer和AoT设置为false,然后我就可以使用--prod进行构建。当我重新激活AoT时,我在日志中看到了问题。在迁移过程中,依赖项注入的方式是错误的。资料来源:Github

吴谦
2023-03-14

在dev环境中,地址是cordova。js并找到该文件。在prod中,文件名被散列为类似cordova的内容。4bdae3fd4f9978d7dcd8。js。

因此,您需要修改函数findCordovaPath()

function findCordovaPath () {
  var path = null;
  var scripts = document.getElementsByTagName('script');
  var startterm = '/cordova.';
  var term = '/cordova.js';
  for (var n = scripts.length - 1; n > -1; n--) {
    var src = scripts[n].src.replace(/\?.*$/, ''); // Strip any query param CB-6007).
    var idx = src.indexOf(startterm);
    if (idx >= 0){
      term = src.substring(idx+1);
    }
    if (src.indexOf(term) === (src.length - term.length)) {
      path = src.substring(0, src.length - term.length) + '/';
      break;
    }
  }
  return path;
}
 类似资料:
  • 当我试图在仿真器x86-64上运行我的项目时,我遇到了崩溃。我试过很多不同的解决方法,但没有人帮我解决我的问题。 工程 ;移动:本机库无法加载:java.lang.UnsatisfiedLinkError:Dalvik.System.PathClassLoader[DexPathList[[zip文件“/data/app/package-name-1/base.apk”],NativeLibrar

  • 目前,我有一个“包罗万象”的jenkinsfile,其中包含各种函数。为了在其他jenkinsfile中重用这些函数,我想将它们放在单独的groovy脚本中,并从jenkinsfile中加载它们。 scmHandler。groovy: 在jenkinsfile中,我执行以下操作: <代码>。。。def scmHandler=负载(“测试/scmHandler.groovy”)scmHandler。

  • 我有一个Angular 2应用程序,可以正常工作,我想向它添加modals,所以我执行了安装说明,就像Doug在这里说的那样:https://github.com/dougludlow/ng2-bs3-modal 说明说要么在索引中使用script标记。html页面加载库或使用系统加载器。因为所有其他模块都是通过脚本标签加载的,所以我也为这个模块加载了脚本标签。 在我的组件内部,导入在VSCode

  • 我尝试使用Kotlin脚本将我的一个项目迁移到Gradle。 以下是我的步骤: 用这个替换 将gradle/包装器/gradle-wrapper.properties的更新为与此处相同 创建了相应的 设置到 此时Intellij检测到它并建议: 您可以将Gradle包装器配置为对源使用分发。它将为IDE提供Gradle API/DSL留档。 - gradle'hello-kotlin'项目刷新失败

  • 我有一个比较简单的问题,就是尝试将内联脚本添加到React组件中。我目前所掌握的: 我还尝试过: 这两种方法似乎都无法执行所需的脚本。我想我错过的是一件简单的事。有人能帮忙吗? PS:忽略foobar,我有一个真实的id实际上在使用,我不想分享。

  • 背景 我目前正在开发一个带有多个quarkus微服务的gradle多项目。为了捆绑quarkus依赖项,我使用了一个带有的预编译脚本插件。根据下面的配置,执行可以正常工作。 我意识到和之间可能存在差异,但是交换依赖关系没有太大帮助。 配置 这是我的项目的一个最小版本,允许重现错误。 这个最小的示例也可以在下面查看:https://github.com/lorenzjosten/gradle-plu