gpt4 book ai didi

AngularJS $locationProvider.html5Mode 不能在本地主机上工作

转载 作者:行者123 更新时间:2023-12-02 05:48:41 27 4
gpt4 key购买 nike

我正试图摆脱出现在我的 ui-router URL 中的主题标签。 ( http://localhost:3000/email 不起作用,但 http://localhost:3000/#email 起作用。在搜索 SO 之后,我还没有找到适合我的案例。我现在在本地运行,所以我假设我不需要任何“服务器配置"并且我在我的 index.html 中包含了 ""。

(function(angular) {
'use strict';
angular.module('myApp', ['ui.router'])



.controller('MainController', function($scope, $route, $routeParams, $location) {
$scope.$route = $route;
$scope.$location = $location;
$scope.$routeParams = $routeParams;
})

.config([
['$stateProvider', '$locationProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider, $locationProvider, $provide) {

$urlRouterProvider.otherwise('/email');

// PAGES

$stateProvider

.state('email', {
url: '/email',
templateUrl: '../pages/email.html',
controller: 'EmailController'
})

.state('about', {
url: '/about',
templateUrl: '../pages/about.html',
controller: 'AboutController'
})

// ... the rest...

$locationProvider
.html5Mode(true); // enable html5Mode for pushstate ('#'-less URLs DOESN'T WORK)
.hashPrefix('!');

$provide.decorator('$sniffer', function($delegate) {
$delegate.history = false;
return $delegate;
});

}]);

最佳答案

您可以在运行 block 中执行此操作:

$locationProvider.html5Mode({
enabled: true,
requireBase: false
});

并且您的网址将从 domain.com/#foo 更改为 domain.com/foo(这不需要明确的基础)。

...或在您的运行 block 中执行此操作:

$locationProvider.html5Mode(true);

...然后将其添加到您的 html <head> :

<base href="/">

此解决方案提供与第一个相同的结果,只是现在有一个指定的基数。

关于AngularJS $locationProvider.html5Mode 不能在本地主机上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35787016/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com