Javascript 具有角度和节点的路由
我正在学习节点和角度。作为我学习的一部分,我目前正在尝试设置一个有三个页面的基本应用程序。为了做到这一点,我依赖于以下网站提供的文档: 我的项目目前的结构如下:Javascript 具有角度和节点的路由,javascript,node.js,angularjs,Javascript,Node.js,Angularjs,我正在学习节点和角度。作为我学习的一部分,我目前正在尝试设置一个有三个页面的基本应用程序。为了做到这一点,我依赖于以下网站提供的文档: 我的项目目前的结构如下: /app /views page1.html page2.html page3.html /resources /javascript angular-1.0.7.min.js controllers.js index.html 我在index.html中的代码很简单
/app
/views
page1.html
page2.html
page3.html
/resources
/javascript
angular-1.0.7.min.js
controllers.js
index.html
我在index.html中的代码很简单。看起来是这样的:
<!doctype html>
<html ng-app="ngView">
<head>
<title></title>
<script type="text/javascript" src="/resources/javascript/angular-1.0.7.min.js"></script>
<script type="text/javascript" src="/resources/javascript/controllers.js"></script>
</head>
<body>
<div ng-controller="Index">
<a href="page1">Page 1</a>
<a href="page2">Page 2</a>
<a href="page3">Page 3</a>
<div ng-view></div>
</div>
<script type="text/javascript">
angular.module('ngView', [], function ($routeProvider, $locationProvider) {
$routeProvider.
when('/page1', { templateUrl: 'app/views/page1.html', controller: Page1Controller }).
when('/page2', { templateUrl: 'app/views/page2.html', controller: Page2Controller }).
when('/page3', { templateUrl: 'app/views/page3.html', controller: Page3Controller }).
otherwise({ redirectTo: 'app/views/page1' });
$locationProvider.html5Mode(true);
});
</script>
</body>
</html>
router.all('/*', function(req, res) {
res.sendfile('index.html');
});
角度模块('ngView',[],函数($routeProvider,$locationProvider){
$routeProvider。
当('/page1',{templateUrl:'app/views/page1.html',控制器:Page1Controller})时。
当('/page2',{templateUrl:'app/views/page2.html',控制器:Page2Controller})时。
当('/page3',{templateUrl:'app/views/page3.html',控制器:Page3Controller})时。
否则({重定向到:'app/views/page1'});
$locationProvider.html5Mode(true);
});
由于某些原因,我的观点与示例中的不同。我设置不正确的原因是什么?您是否将正确的请求从节点服务器转发到服务器?如果使用express,可能会出现如下情况:
<!doctype html>
<html ng-app="ngView">
<head>
<title></title>
<script type="text/javascript" src="/resources/javascript/angular-1.0.7.min.js"></script>
<script type="text/javascript" src="/resources/javascript/controllers.js"></script>
</head>
<body>
<div ng-controller="Index">
<a href="page1">Page 1</a>
<a href="page2">Page 2</a>
<a href="page3">Page 3</a>
<div ng-view></div>
</div>
<script type="text/javascript">
angular.module('ngView', [], function ($routeProvider, $locationProvider) {
$routeProvider.
when('/page1', { templateUrl: 'app/views/page1.html', controller: Page1Controller }).
when('/page2', { templateUrl: 'app/views/page2.html', controller: Page2Controller }).
when('/page3', { templateUrl: 'app/views/page3.html', controller: Page3Controller }).
otherwise({ redirectTo: 'app/views/page1' });
$locationProvider.html5Mode(true);
});
</script>
</body>
</html>
router.all('/*', function(req, res) {
res.sendfile('index.html');
});
我相信你必须在你的节点服务器文件中设置你的路由,让angular处理它们(我只在Express+node中做过)可能需要查看controller.js文件的内容是-正如@BoxerBucks所说,我们需要查看控制器的内容以及你如何设置你的nodeJs服务器。。。您是否处理过模板的交付或呈现?是否正在加载视图文件?Angular在某些情况下与子文件夹有问题-尽管这通常与布线路径相关,而不是与视图的路径相关。。。