繁体   English   中英

如何在meanjs app中删除Url中的哈希值

[英]How to remove hash from Url in meanjs app

我需要从网址中删除“#”。 它可以通过设置来完成

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

但是当我这样做时,我的路线将转向Nodejs路线。 例如: http//example.com/#/login - 它将打开登录页面,但在删除hashbangs之后它的命中nodejs路由 - http://example.com/login

应用程序已完成,所以我现在无法更改实现。

请帮忙。

编辑:这是少数stateProvider

$urlRouterProvider.otherwise('/');
    $stateProvider.state('index', {
        url: '/',
        templateUrl: 'partials/landing.html',
        controller: 'mainController',
        controllerAs: 'main',
        resolve: {
            deps: ['$ocLazyLoad', function($ocLazyLoad) {
                return $ocLazyLoad.load({
                    name: 'mainCtrl',
                    files: [
                        'plugins/raty/jquery.raty.js',
                        'js/controllers/HomeController.js'
                    ]
                });
            }]
        }
    })


    .state('home', {
            url: '/home',
            templateUrl: 'partials/home.html',
            controller: 'landingController',
            resolve: {
                deps: ['$ocLazyLoad', function($ocLazyLoad) {
                    return $ocLazyLoad.load({
                        name: 'mainCtrl',
                        files: [
                            'js/controllers/HomeController.js'
                        ]
                    });
                }]
            }
        })

在配置块中添加以下行

$locationProvider.html5Mode(true).hashPrefix('!'); 

在您的index.html文件集基础中,在html页面的head标签中添加以下行

<base href="/" > 

然后在节点server.js中通过添加以下代码来处理您的路由

app.get('*', function(req, res) {
    res.sendFile("index.html",{root:__dirname+'/public'}); 
   //load the single view file (angular will handle the page changes on the front-end)
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM