与nodejs和angular混淆

时间:2017-06-07 04:13:48

标签: javascript angularjs node.js express

我阅读了很多关于整合nodeJS& amp;角度,我根本不明白。我尝试创建server.jsmainControllerindex.html,服务器运行良好,但角度不起作用。我已经坚持了一个星期,我无法解决它。

这是我的server.js

var express = require('express'),
app = express(),
port = process.env.PORT || 3000;
var routes = require('./routes/routes');

app.use(express.static(__dirname + '/application')); //static path
routes(app);

app.get('/', function(req,res){
    res.sendFile(__dirname + "/application/views/index.html")
    //res.sendFile('./views/index.html');
});

app.listen(port);
console.log('server started on: ' + port);

这是mainController.js

var app = angular.module('server',[]);

// App controller
app.controller('appController', ['$scope','dataServ', function($scope, Data) {

    $scope.greetings = "hello words";

    Data.get()
        .success(function(resp) {
            $scope.greetings = resp;
        });
}]);

这是我的index.html

<!DOCTYPE html>
<html lang="en" ng-app="mainController">
<head>
    <meta charset="UTF-8">
    <title>Testing Web</title>

    <!-- LOAD JS -->
    <script src="../lib/js/angular.min.js"></script>
    <script src="../controllers/mainController.js"></script>

</head>

<body>
    <div ng-controller="appController">
        {{greetings}}
    </div>
</body>

</html>

如果需要,这是我的文件夹结构:

  
      
  • 应用
       - 控制器
      --- mainController.js
       - lib
      --- js
      ---- angular.min.js
       - 意见
      --- index.html
  •   
  • 路线
  •   
  • server.js
  •   

1 个答案:

答案 0 :(得分:1)

在index.html中,将ng-app="mainController"替换为ng-app="server",因为它需要主模块名称。