удалить восклицательный знак из маршрутизации государственного url Mean.io

Я хочу удалить восклицательные знаки из маршрутизации состояния URL, например, мой url теперь http: // localhost: 3000 / #! / Auth / register

я просто хочу удалить это “!” отметки из url после “#”

Можно ли это сделать? с mean.io вот мой app.js / system.js

'use strict'; //Setting up route angular.module('mean').config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) { // For unmatched routes: //$urlRouterProvider.otherwise('/'); var checkLoggedin = function($q, $timeout, $http, $location) { // Initialize a new promise var deferred = $q.defer(); // Make an AJAX call to check if the user is logged in $http.get('/loggedin').success(function(user) { // Authenticated if (user !== '0') $timeout(deferred.resolve); // Not Authenticated else { $timeout(deferred.reject); $location.url('/auth/login'); } }); return deferred.promise; }; // console.log($stateProvider); // states for my app $stateProvider .state('tasks', { url: '/kanban/:projectId/:projectSlug', templateUrl: 'system/views/index.html', controller: 'IndexController', resolve: { loggedin: checkLoggedin, onEnter: function($stateParams,$state, $uibModal) { if ( $stateParams.projectId != "" ) { updateTopMenu('Kanban','task','#!/kanban/'+$stateParams.projectId+'/'+$stateParams.projectSlug); updateTopMenu('Schedule','schedule','#!/schedule'); } } } }).state('home',{ url:'/', templateUrl: 'projects/views/index.html', controller: 'ProjectController', resolve:{ loggedin: checkLoggedin } }).state('taskEdit',{ url:'/kanban/:projectId/:projectSlug/:taskSlug', templateUrl: 'system/views/index.html', controller: 'IndexController', resolve:{ loggedin: checkLoggedin } }).state('taskAdd',{ url: "/task/taskAdd", onEnter: function($stateParams, $state, $uibModal) { $uibModal.open({ templateUrl: "system/views/include/model.html", resolve: {}, controller: function($scope, $state, itemService) { /* $scope.state = $state.current; $scope.params = $stateParams; $scope.item = itemService.get($stateParams.id); */ $scope.ok = function () { $scope.$close('clicked ok'); }; $scope.dismiss = function () { $scope.$dismiss('clicked cancel'); }; } }).result.then(function (result) { // $scope.$close alert('result ->' + result); }, function (result) { // $scope.$dismiss return $state.transitionTo("home"); alert('dismiss ->' + result); }).finally(function () { // handle finally return $state.transitionTo("tasks"); }); } }); } ]).config(['$locationProvider', function($locationProvider) { $locationProvider.hashPrefix('!'); } ]); 

Вы можете внести некоторую трансформацию по URL-адресу с помощью $urlRouterProvider.rule в свою конфигурационную функцию следующим образом:

 $urlRouterProvider.rule(function ($injector, $location) { var path = $location.path(), normalized = path.replace('!/', ''); if (path !== normalized) { return normalized; } }); 

Не уверен, что это лучший способ, но, похоже, он работает.

Вдохновленный от: https://ui-router.github.io/docs/1.0.0-alpha.5/classes/url.urlrouterprovider.html