大家好,先谢谢你的帮助,
我正在努力弄清楚为什么我的路由没有完全正常工作。我要解释一下。
我确实有一个带有下拉选项的导航栏,这些选项导致我在我的角度应用配置阶段定义的路线。
HTML
<head>
...
<base href="/">
...
</head>
...
(inside navbar)
<ul class="dropdown-menu">
<li><a ui-sref="Check">Check</a></li>
</ul>
...
JS(config)
app.config(['$stateProvider', '$urlRouterProvider', '$locationProvider', function($stateProvider, $urlRouterProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$stateProvider
// HOME STATES AND NESTED VIEWS ========================================
.state('home', {
url: '/home',
controller: 'HomeCtrl',
templateUrl: 'app/components/home/home.html'
});
// SERVICE VIEWS =================================
$stateProvider
.state('Check', {
url: '/Check',
templateUrl: 'app/components/Check/Check.html',
controller: 'CheckCtrl'
});
$urlRouterProvider.otherwise('/');
}]);
当我通过家访问时,一切都运行良好(通过index.html - >点击导航栏并访问Check)它正确加载模板。 但是当我试图直接访问该视图时,根本没有任何内容被加载。黑屏。
总结: 行动: 访问localhost:8080 - &gt;全部运行正常 访问localhost:8080 /直接检查 - &gt;没有加载任何东西。
没有想到我在这里失踪的东西。
感谢您的时间和支持。
答案 0 :(得分:0)
你能把你的server.js文件?
我认为你缺少一些看起来像这样的行:
app.use("/app", express.static(__dirname + "/app"));
答案 1 :(得分:0)
来自他们维基上的常见问题:
如何:配置服务器以使用html5Mode
当我添加$ locationProvider.html5Mode(true)时,我的网站将不允许粘贴网址。当html5Mode为true时,如何配置我的服务器?
启用html5Mode后,您的网址中将不再使用#字符。 #符号很有用,因为它不需要服务器端配置。没有#,url看起来更好,但它也需要服务器端重写。
如何做到这一点取决于您运行的服务器的类型,这一切都在上面链接的文章中解释。