2015-12-21 67 views
0

我正在处理由节点服务器提供的角应用程序,并且我试图在core.js文件中包含依赖关系。一切都很好,直到我添加依赖模块。只要我向模块添加依赖项,指令因某种原因停止工作。更具体地说,我试图添加的依赖项是btford.socket-io并且安装有bower。在向模块添加依赖关系后,指令不起作用

我已经尝试通过括号添加它,如下所示,并与app.requires,这也可以在下面看到的评论。在控制台中显示的错误是[$injector:modulerr]

这里是我的Core.js文件:

var app = angular.module('test', ['btford.socket-io']); 
// app.requires.push('btford.socket-io'); 

app.controller('testController', function ($scope, $http) { 
    $scope.test = "This is test."; 

    $scope.loadData = function() { 
     $http.get('/data').success(function(data) { 
      $scope.data = data; 
     }); 
    }; 

    $scope.loadData(); 
}); 

这里是layout.jade:

doctype html 
html 
    head 
    title= title 
    link(rel='stylesheet', href='/stylesheets/style.css') 
    script(src='http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js') 
    script(src='http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js') 
    script(src='/socket.io/socket.io.js') 
    script(src='javascripts/core.js') 
    body(ng-app="test") 
    block content 

这里是index.jade:

extends layout 

block content 
    div(ng-controller="testController") 
     p {{test}} Result should be 15 and is: {{5 + 10}} 
     br 
     p {{data[0].name}} 

添加依赖指令前戏预期成果:

This is test. Result should be 15 and is: 15 
MyName 

但添加后的依赖,他们只是显示为纯文本错误[$injector:modulerr]

{{test}} Result should be 15 and is: {{5 + 10}} 
{{data[0].name}} 

有谁知道为什么会这样,我怎么能够使它发挥作用?

+3

你是什么错误? –

+1

我没有看到任何脚本在你的HTML加载btford.socket-io模块。 –

+0

@Deblaton Jean-Philippe我刚刚更新了这个问题。 – Miljac

回答

0

正如评论中所述,将<script>标记添加到HTML解决了它。

要注意的唯一的事情是,我不得不添加app.use(express.static(path.join(__dirname, 'bower_components')));到app.js能够使用通缉航线