无法使用express.static提供json文件

时间:2013-08-02 13:36:17

标签: javascript node.js angularjs express

我有几个问题:

我正在使用angular和node(Express)构建应用程序。

1) 在我的节点服务器中,我正在为static_dir

中的所有静态文件提供服务
app.use(express.static(STATIC_DIR));

insdie这个目录我有一个json文件static_Dir / courts / courts.json

我的控制如下:

squashApp.controller('CourtsController',
    function CourtsController($scope) {
    //$http.get('courts/courts.json').success(function(data) {
        $scope.courts = 'courts/courts.json';
  });

我的html文件是:

<table class="table">
    <tr>
      <th>Hour</th>
      <th>Player 1</th>
      <th>Player 2</th>
    </tr>
    <tr>
      <td>itai</td>
      <td>asf</td>
      <td>sdf</td>
    </tr>
    <tr ng-repeat="court in courts">
      <td>{{court.hour}}</td>
      <td>{{court.player1}}</td>
      <td>{{court.player2}}</td>
    </tr>

由于某种原因,这个json文件的信息没有显示在我的表中。 是什么原因?

关于单元测试和jasmin的另一个问题:

我的测试:

describe('controllers', function(){

  it('should create courts model', (function() {
    var scope = {},
    ctrl = new squashApp.controller.CourtsController(scope);
    expect(scope.courts.length).toBe(6)
  }));

});

但我得到的错误是没有定义CourtsController。 什么应该是正确的语法,以使测试工作。

感谢。

1 个答案:

答案 0 :(得分:-1)

var path = require('path');
...
app.use(express.static(path.join(__dirname, 'public')));

/courts/courts.json