【问题标题】:MEAN stack: angular is not definedMEAN堆栈:未定义角度
【发布时间】:2023-04-04 23:57:01
【问题描述】:

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

文件夹结构如下:

节点模块

  • 应该有一堆模块

公开

  • 库
  • 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 文件的 Angular 模块来处理 server.js 的 JSON 文件。我只是没有任何线索可以尝试,请给我一些建议。如有必要,我很乐意为您提供更多代码文件。

【问题讨论】:

    标签: javascript angularjs node.js mean-stack


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢您,先生,我对这个概念的理解部分错误,并且没有引起前端方面的注意。现在我的解决方案按预期工作。
    猜你喜欢
    • 2015-04-03
    • 1970-01-01
    • 1970-01-01
    • 2014-08-05
    • 1970-01-01
    • 2015-04-12
    • 2017-01-03
    • 2017-11-05
    • 1970-01-01
    相关资源
    最近更新 更多