我有一个gulp-connect服务器正在运行,我想从我在AngularJS项目中使用的routeProvider中删除hashbangs。
我的app.js:中有这个
//Setting HTML5 Location Mode
companiesApp.config(['$locationProvider',
function ($locationProvider) {
$locationProvider.hashPrefix('!');
$locationProvider.html5Mode(true);
}
]);
我知道,如果我删除hashPrefix,它将仍然适用于http://www.example.com/#example-uri
,但我如何完全消除它。html5Mode(true(不应该这么做吗?
是的,$locationProvider.html5Mode(true);
应该这样做。
但是,为了能够直接从浏览器访问页面,您应该配置服务器将请求重定向到索引页面,然后在内部调用partial。请在angular ui文档中查看此文档,了解如何配置文档。
如果在您的场景中有用,请尝试此操作
Add仅具有类似$locationProvider.hashPrefix(''(的前缀以删除Bang前缀。。。
var app = angular.module('app', []);
app.config(['$routeProvider', '$locationProvider',
function ($routeProvider, $locationProvider)
{
$routeProvider.when('/', {
templateUrl: "app1.html",
controller: "App1Ctrl"
})
.when('/Program1', {
templateUrl: "app2.html",
controller: "App2Ctrl"
});
$locationProvider.hashPrefix("");
}
]);
首先在依赖项中添加$routeProvider,然后添加最后一个hashPrefix为null删除thabang前缀。