我希望在我的webapp中添加一个基本href。目前运行时一切都正常运行:
但我需要添加基础href或"充电" - >本地主机:3000 /充电/#/登录
当前index.html
<head>
<base href="charge/" />
<meta charset="utf-8">
<meta name="description" content="">
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" ....
</head>
Anuglar路线档案
function routerConfig($routeProvider, $locationProvider) {
$routeProvider
.when('/map', {
templateUrl: 'app/views/main/main.html',
controller: 'MainController',
controllerAs: 'mainCtrl'
})
.when('/login', {
templateUrl: 'app/views/login/login.html',
controller: 'LoginController',
controllerAs: 'loginCtrl'
})
.when('/list', {
templateUrl: 'app/views/list/list.html',
controller: 'ListController',
controllerAs: 'listCtrl'
})
.when('/reporting', {
templateUrl: 'app/views/reporting/reporting.html',
controller: 'ReportingController',
controllerAs: 'reportingCtrl'
})
.otherwise({
redirectTo: '/map'
});
// $locationProvider.html5Mode(true);
}
每当我使用basehref运行我的应用程序并导航到localhost:3000 / charge /#/ login时,基本上找不到每个视图,控制器,bower组件和模块。我已经尝试编辑路由器,更改主应用程序文件夹的名称,但无法使其工作。我知道我错过了一些小的东西,所以非常感谢任何帮助!
我的问题似乎与Base Href and Angular Routing and Views非常相似,但老实说,我无法弄清楚这一点。
答案 0 :(得分:2)
如果您正在使用Chrome并且在开发者控制台中查看,请查看无法找到的资源的网址:
http://localhost:8080/charge/app.js
它正在查看项目的根目录,然后查找名为charge的文件夹,然后查找资源。
HTML元素指定用于所有亲属的基本URL 文档中包含的URL。只能有一个元素 在一份文件中。 - MDN
您能告诉我们您的目录结构在这里是什么样的吗?如果您的项目文件直接在root中,请尝试创建名为&#34; charge&#34;的子文件夹。并将所有文件放入其中。
示例: root&gt;充电&gt;项目文件
答案 1 :(得分:0)
尝试预先添加&#34; /&#34;在所有源URL之前。这将从项目的根目录开始每个路径,而不是在您的基础href。
e.g。 templateUrl: '/app/views/main/main.html'