【发布时间】:2016-04-28 04:30:23
【问题描述】:
我正在开发一个这样的网络应用程序:
- project
--- app
------ controllers
------ views
------ app.js
--- public
------ assets
--------- css
--------- js
--------- img
--- index.html
... 在我的 index.html 中,我有基本的 html、链接、脚本标签。加载 Angular 应用程序的所有内容都运行良好。
但现在,我需要使用 Node.js 加载所有应用程序。
首先我将 index.html 移动到 public/ 并创建了一个新文件。
index.js (Node.js)
app.use("/", express.static(path.join(__dirname, 'public')));
app.get('/', function(req, res) {
res.sendFile(path.join(__dirname + '/index.html'));
});
app.listen(3000, function () {
console.log('Example app listening on port 3000!');
});
运行我在浏览器控制台获得的 Node.js:
GET http://localhost:3000/app/views/layouts/public.html 404 (Not Found)
这就是我加载角度视图的方式
app.config(function($urlRouterProvider, stateHelperProvider) {
$urlRouterProvider.otherwise('/');
$urlRouterProvider.when('', '/');
stateHelperProvider.state({
name: 'public',
title: 'Home',
url: '/',
controller: 'PublicCtrl',
templateUrl: '/app/views/layouts/public.html',
data: {
requireLogin: false
}
})
.state({
name: 'private',
controller: 'PrivateCtrl',
templateUrl: '/app/views/layouts/private.html',
data: {
requireLogin: true
},
children: [
{
name: 'browse',
title: 'Home',
url: '/browse',
templateUrl: '/app/views/browse/index.html',
controller: 'BrowseCtrl'
}
]
});
});
【问题讨论】:
-
我没有看到您指示 node.js 在哪里提供您的视图。
-
我没有,我只是指示node.js到index.html。剩下的应该是继续工作,而不是。
-
如果你不指示 node.js 提供它,它就不会。
-
感谢@Olly,index.html 和静态文件可以正常工作。但路由器视图不是。
-
对,我说的就是这些。