(我重新编辑了最初的问题以更好地解释上下文。)
angular-ui-router
我有一个用and构建的平均堆栈网站html5mode
。routes/index.js
包含以下代码,它是views/index.html
所有<ui-view></ui-view>
页面的入口点。结果, https://localhost:3000/XXXX
在浏览器中将保持不变(而不是添加#
)并根据路由器显示相应的内容。
router.get('*', function(req, res) {
console.log("router.get *");
res.sendfile('./views/index.html');
});
现在,由于这个问题,我想要views/addin.html
包含office.js
另一个路由器,以便该站点提供一组 url https://localhost:3000/addin/XXXX
,我不介意它是否html5mode
存在(一个 url 可以包含#
某处)。为此,我为addin
in添加了一个块routes/index.js
:
router.get('/addin/*', function (req, res) {
console.log("router.get /addin/*");
res.sendfile('./views/addin.html')
});
router.get('*', function(req, res) {
console.log("router.get *");
res.sendfile('./views/index.html');
});
这是views/addin.html
:
<html>
<head>
<title>addinF</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.3.2/angular-ui-router.js"></script>
</head>
<body ng-app="addinF">
addin content
<ui-view ng-cloak></ui-view>
</body>
<script>
var addinApp = angular.module('addinF', ['ui.router'])
addinApp.config(['$stateProvider', function ($stateProvider) {
$stateProvider
.state('addinNew', {
url: '/addin/new',
template: "new page"
})
.state('addinHome', {
url: '/addin/home',
template: "home page"
})
}]);
</script>
</html>
但是,加载https://localhost:3000/addin/new
或https://localhost:3000/addin/home
仅显示addin content
而未显示new page
或home page
在控制台中;它也没有引发任何错误。
谁能告诉我缺少什么?一台服务器可以提供 2 个 angularjs 模块或路由吗?