我的AngularJS应用程序在直接访问/登录时不会路由到/ login。如果我首先访问/然后从/到/登录路由,它将路由到/ login。
它正在处理我的本地环境,但不适用于Heroku服务器。我是否需要在Heroku服务器上配置一些设置?
我正在使用angular-ui-router在整个应用程序中路由到不同的状态。
我的app.js配置代码片段如下所示:
angular.module('app', [
angularUiRouter
])
.config(($stateProvider) => {
"ngInject";
$stateProvider
.state("home", {
url: "/",
template: "<home></home>"
})
.state("login", {
url: "/login",
template: "<login></login>"
});
})
答案 0 :(得分:1)
回答我自己的问题。
由于此应用程序上的设置使用MEAN堆栈,我们还必须添加从服务器端到客户端的路由。
对于AngularJS中的所有模板,必须有从Express到AngularJS到index.html的路由
对于以角度创建的所有模板和工艺路线,我们需要获取请求并发送index.html作为响应 当我们使用angularjs stateProvider在Angularjs中路由时,我们还必须从服务器端添加到/dist/index.html的路由。 $ locationProvider.html5Mode(真).hashPrefix(&#39;!&#39;);必须在AngularJS方面的app.js中定义
我的Server.js文件的片段:
var express = require('express');
var app = express();
app.use(express.static(__dirname + '/dist'));
app.get('/', function(req, res){
res.sendFile(__dirname + '/dist/index.html');
});
app.get('/login', function(req, res){
res.sendFile(__dirname + '/dist/index.html');
});