在Ionic v4中,当我运行捆绑在生产模式(离子型cordova bundled )的应用程序时,控制台说“找不到cordova.js脚本标签,插件加载可能失败”。这个应用程序中的一些东西,比如字体是卸载的(我看到的是Roboto字体,而不是我的自定义字体)。否则,当我尝试在没有生产模式的情况下编译**(离子型cordova构建android)**时,应用程序运行时没有控制台错误。
我的信息:
离子(离子CLI):4.12.0离子框架:@离子/角4.2.0 @角-devkit/建-角: 0.13.8 @角-devkit/原理图: 7.2.4 @角/cli: 7.3.8 @离子/角-工具包: 1.4.1
科多瓦:
cordova (Cordova CLI):8.1.2 ( Cordova -lib@8.1.1) Cordova平台: android 7.1.4 cordova Plugins :cordova-plugin-离子型-键盘2.1.3,cordova-plugin-离子型-webview 3.1.2 (和其他7个插件)
有人也面临这个问题吗?
干杯,
发布于 2019-06-15 14:09:33
在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;
}发布于 2019-12-11 16:23:05
当我从离子3迁移到离子4时,我也遇到了同样的问题,当我启动一个新项目(默认选项卡)并复制代码之后,它就消失了。
似乎有人找到了解决办法:
我不再有这个问题了。在angular.json中,我将buildOptimizer和AoT设置为false,然后可以使用--prod构建。当我重新激活AoT时,我在日志中看到了问题。在迁移过程中,依赖注入执行的方式是错误的。来源:Github
发布于 2019-12-21 09:32:18
用angular.json配置通过设置"optimization": false和"outputHashing": "none"临时固定
"configurations": {
"production": {
...
"optimization": false,
"outputHashing": "none",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
...
},
...
}https://stackoverflow.com/questions/55558038
复制相似问题