3

我在我的 angularjs 项目中运行测试时遇到问题 - 当我运行“grunt test”时,我得到:

ReferenceError: io 未定义

我通过端口 3000 在本地运行服务器,这是一个 node.js socket.io 服务器并在 index.html 中实现它

<script src="http://localhost:3000/socket.io/socket.io.js"></script>

这是我正在测试的功能:

$scope.editProject = function (dat) {
      $http({
        method: 'PUT',
        url: 'http://some.net/api/project/' + $routeParams.Id,
        data: angular.toJson(dat),
        headers: {'Content-Type': 'application/json'}
      })
      .success(function(d) {
        var time = $filter('date')(new Date(), 'dd/MM HH:mm:ss');
        var loc = '/project/' + $routeParams.Id;
        var head = {
          User : $rootScope.UserInfo.Username,
          Message: 'Some message ',
          Name : dat.ProjectName,
          url: loc,
          date: time,
          icon : 'icon-th-list'
        };
        socket.emit('UpdateHeader', head );
        $location.url('/project/' + $routeParams.Id);
      });
    };
4

1 回答 1

2

在您的项目上安装最后一个Yeoman,它可以解决您的问题。这将自动安装GruntBower。之后,您可以使用 bower 安装 socket.io 客户端。

grunt test                        # test your app
grunt server                      # preview your app
grunt                             # build the application for deployment

使用Bower 组件获取更多包。

于 2013-07-04T08:38:51.300 回答