尝试用来支持结尾的东西。通过关注快递的思考者指南开始。想知道是否有人能为我清理一些东西。
首先,我了解前端和后端路由是不同的。据我所知,前端路由是针对用户体验(从一个页面到另一个页面),后端路由(例如router.get(~~~))用于API调用并与数据库内容交互。为什么呢
router.get('/', function(req, res, next) {
res.render('index');
});
最初加载第一页是什么?
其次,我的前端路由看起来像这样
app.config([
'$stateProvider',
'$urlRouterProvider',
function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('home', {
url: '/',
templateUrl: '/home.html',
controller: 'MainCtrl'
})
$urlRouterProvider.otherwise('home');
}
]);
但是,每当我运行我的服务器并转到localhost:3000时,它会自动将我转到localhost:3000 /#/并在那里提供内容。我知道thinkster指南使用内联模板,但我试图只使用单独的html文件,它仍然这样做。
如果有人能解决我的困惑,我将非常感激!谢谢
答案 0 :(得分:1)
路由网址的角度默认行为。
要从您的网址中删除主题标签,您需要将有角度的$ locationProvider的html5Mode设置为true
app.config([
'$stateProvider',
'$urlRouterProvider',$locationProvider,
function($stateProvider, $urlRouterProvider, $locationProvider) {
$stateProvider
.state('home', {
url: '/',
templateUrl: '/home.html',
controller: 'MainCtrl'
})
$urlRouterProvider.otherwise('home');
$locationProvider.html5Mode(true);
}
])
查看此article了解详情。
答案 1 :(得分:0)
Internet Explorer< 10不支持Html5历史api。 #在URL中,使用户能够使用浏览器按钮前进和后退。删除它会破坏IE中的此功能< 10.在更多人使用10岁以上之前,建议您将其保留下来。