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在某些情况下与子文件夹有问题-尽管这通常与布线路径相关,而不是与视图的路径相关。。。