我将angular2文件夹复制到一个新文件夹,在Angular中运行npm I等运行正常。
我使用
在我的文件夹中创建了一个Cordova文件夹cordova create cordova be.volckaertachiel.be "volckaertAchiel"
然后:
cd cordova
cordova platform add browser
cordova run browser
rm -r www
cd ..
使用以下代码在corodova文件夹中构建它:
ng build --target=production --environment=prod --output-path cordova/www/
然后使用Cordova run browser
在我将后端(node.js API)更改为接受端口8000
之后,它就像在angular2中运行一样
在此Cordova platform add android
之后,然后Cordova build android
它推出了Android SDK,它推出了应用程序,但它有一个白屏......
我的问题简短:我使用Cordova构建我的网站 - >运行良好,在Android上我只是得到一个白色的屏幕。
更新的问题:在android中找不到已编译的js文件
答案 0 :(得分:2)
通过从此<base href="/">
设置到此<base href="./">
来修复未找到文件的问题,此处还说明了这一问题:https://github.com/electron/electron/issues/1769
答案 1 :(得分:1)
此类行为有两种可能性:
<强> 1。启动画面错误配置
检查您的config.xml
并确认您拥有:
这是Android的示例配置,可在10秒后隐藏启动画面:
<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="10000" />
<platform name="android">
<preference name="android-minSdkVersion" value="16" />
<preference name="android-targetSdkVersion" value="22" />
<allow-intent href="market:*" />
<icon density="ldpi" src="res/icons/android/ldpi.png" />
<icon density="mdpi" src="res/icons/android/mdpi.png" />
<icon density="hdpi" src="res/icons/android/hdpi.png" />
<icon density="xhdpi" src="res/icons/android/xhdpi.png" />
<icon density="xxhdpi" src="res/icons/android/xxhdpi.png" />
<splash density="port-hdpi" src="res/screen/android/splash-port-hdpi.png" />
<splash density="port-ldpi" src="res/screen/android/splash-port-ldpi.png" />
<splash density="port-mdpi" src="res/screen/android/splash-port-mdpi.png" />
<splash density="port-xhdpi" src="res/screen/android/splash-port-xhdpi.png" />
</platform>
<强> 2。索引页面错误
检查index.html
中存储的www
。它丢失了吗?它是空的吗?在浏览器中打开白页时会加载白页吗?
如果index.html
文件存在并在网络浏览器中正确加载,那么您需要在Android设备上运行时检查该应用。它可能会在页面加载期间抛出JavaScript错误,导致无法显示任何内容。为此,请按照下列步骤操作:
cordova run android --debug --target=YOURDEVICEIDHERE
chrome://inspect
您可以像常规网页一样实时检查您的应用。点击刷新按钮将重新运行初始加载,并允许您记录任何错误。
答案 2 :(得分:1)
以防万一其他人遇到这个问题而没有运气:就我而言,我不得不更改index.html中的脚本,删除脚本类型为“ module”的脚本,并删除属性“ nomodule”。>
换句话说,我从这里改变了:
<script src="runtime-es2015.js" type="module"></script>
<script src="polyfills-es2015.js" type="module"></script>
<script src="main-es2015.js" type="module"></script>
<script src="runtime-es5.js" nomodule></script>
<script src="polyfills-es5.js" nomodule></script>
<script src="main-es5.js" nomodule></script>
<script src="scripts.js"></script>
对此:
<script src="runtime-es5.js"></script>
<script src="polyfills-es5.js"></script>
<script src="main-es5.js"></script>
<script src="scripts.js"></script>
似乎与liangliang94所说的有关,但我的模拟器是android 9。
答案 3 :(得分:0)
如果您要在角度为8的android 8.0仿真器/设备上运行,则此解决方案可能是应用程序。
对于android 8.0模拟器,它不支持ES2015,即ES6。