我正在努力使用现有的,中等复杂的Angular应用程序并使用Ionic制作移动版本。我遇到了一些我认为与应用程序使用的ui-router相关的问题。具体来说,在index.html中(为清楚起见删除了一些内容):
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="shortcut icon" href="/img/icons/favicon.ico">
<title>My App</title>
<base href="/">
<!-- cordova script (this will be a 404 during development) -->
<script src="cordova.js"></script>
</head>
<body ng-app="myApp">
<div ui-view>
<script type="text/javascript" src="/js/app.js"></script>
</div>
</body>
</html>
注意
<base href="/">
以及js和favicons的绝对路径的使用(也用于css)
当我使用Ionic服务时,事情很好。但是,如果我尝试在实际设备上运行它,Ionic无法找到js,css或favicons。我可以通过删除<base href="/">
,将资产路径更改为相对路径以及在js中设置$locationProvider.html5Mode(false)
来解决此问题。
然而,这完全打破了应用程序其余部分的链接。我不确定为什么应用程序以这种方式设置,我们没有能力修复应用程序更直接。我花了相当多的时间试图弄清楚如何使用这种奇怪的设置来制作Ionic,但是失败了。任何建议都会非常有帮助。提前谢谢!