MEAN堆栈:未定义角度

时间:2014-10-31 23:35:37

标签: javascript angularjs node.js mean-stack

我一直在寻找我的问题的答案,整整两天没有结果。我知道有很多线索关于“角度未定义”,但他们的答案无济于事。起点是我在DigitalOcean上为SPA部署了MEAN堆栈。还有咕噜声使用。该应用程序已成功运行,直到grunt尝试运行具有angular.module(... call。<。p>的server.js文件。

文件夹结构如下:

  

node_modules

     
      
  • 应该有
  • 这样的一堆模块   
     

公共

     
      
  • LIB
  •   
     
    
        
  • angular,angular-resource,jquery等文件夹
  •     
  
     

路由

     
      
  • index.js
  •   
     

的src

     

视图

     
    
        
  • index.html,index.jade,layout.jade
  •     
  
     

bower.json

     

gruntfile.js

     

karma.conf.js

     

的package.json

     

server.js


bower.json

{
  "name": "meanjs",
  "version": "0.3.2",
  "description": "Fullstack JavaScript with MongoDB, Express, AngularJS, and Node.js.",
  "dependencies": {
    "bootstrap": "~3",
    "angular": "~1.3.0",
    "angular-resource": "1.3.0",
    "angular-animate": "~1.3.0",
    "angular-mocks": "~1.3.0",
    "angular-bootstrap": "~0.11.0",
    "angular-ui-utils": "~0.1.1",
    "angular-ui-router": "~0.2.10"
  }
}

server.js

'use strict';
var cheerio = require('cheerio'),
http = require('http'),
iconv = require('iconv-lite'),
request = require('request'),
mongoose = require('mongoose'),
iconv = require('iconv-lite');

angular.module('myapp', []);
var express = require('express');
var app = express();

app.use(express.static(__dirname + '/public'));
app.set('view engine', 'jade');
app.get('/', function (req, res) {
        res.sendfile('./views/index.html');

});
app.listen(80);

的index.html

<!DOCTYPE html>
<html lang="en" ng-app="myapp">
<head>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.0/angular.min.js"></script>
<script src="/opt/mean/server.js"></script>
         <meta charset="UTF-8">
         <title>Myapptitle</title>
</head>
<body>
        <div id="app">
            <p>Hallelujah, server is running!</p>
        </div>
</body>
</html>

我一直在转移与index.html文件相关的.js文件的所有部分,依此类推。该应用程序的要点是让server.js运行并具有几个不同的基于.js文件的角度模块来处理server.js的JSON文件。我只是没有任何线索留下什么尝试,请给我一些建议。如有必要,我很乐意为您提供更多代码文件。

1 个答案:

答案 0 :(得分:2)

server.js是一个Node / Express应用程序,不应包含Angular代码。通常,您将拥有Angular应用程序的公共/文件夹,而angular.module通常首先在public / app.js中调用

有关设置的一个非常好的示例,请参阅http://meanjs.org - 使用MEAN.JS快速构建示例结构,并查看/server.js和public / app.js以获取用法示例。

最后,在您的HTML文件中,您不会包含server.js文件,而是包含您的app.js.请记住,server.js用于服务器端Node / Express,并且与前端代码无关。