在我的 app.js 中我有
$routeProvider
.when('/', {
templateUrl: '/views/main.html'
})
.when('/admin', {
templateUrl: 'views/admin.html',
controller: 'admin',
})
所以我的路线是 localhost:3000/#/,点击按钮它会将我带到 localhost:3000/#/admin 我想从我的网址中删除 #,所以我使用了
$locationProvider.html5Mode({
enabled: true,
requireBase: false
});
现在 localhost:3000/
正在工作,单击按钮后,我将进入 localhost:3000/admin
。
但是如果我直接在url中给出localhost:3000/admin
,它会给出Cannot Get/admin..但是如果给出localhost:3000/#/admin
,它会将我带到localhost:3000/admin
。为什么这种行为我如何使localhost:3000/admin
工作。有人可以帮忙吗
最佳答案
移动此行
app.use(express.static(path.join(__dirname, 'public')));
app.js 文件中
app.use(app.router);
之前在
javascripts/app.js
中添加此行$locationProvider.html5Mode({enabled: true, requireBase: false });
添加此代码
app.get('*', function(req, res) { res.render('索引', { 标题:“ express ” }); });
在
app.js
中http.createServer(app)
行
关于javascript - 从 Angular $locationProvider 中的 url 中删除 # 后出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42909840/