0

我来自 LAMP 背景,作为一个学习项目,我下载了 MEAN.JS,以便深入研究 MEAN 堆栈。我让整个事情运行起来,但我觉得我错过了一些东西......

我按照http://meanjs.org/generator.html上的所有步骤,让 Mongo 运行,让我的服务器运行等。我的 index.html 文件加载到 localhost:3000 并且生活很好。

所以在我看来,我正在检查清单...

MongoDB - 检查(在执行 mongod.exe 后运行)。

节点 - 检查(执行 grunt 后服务器正在运行)。

Express - 检查(绑定到节点作为服务器)。

角 - ....??

我看到安装 MEAN.JS 为 Angular 安装了几个文件夹,但我不认为我的 index.html 文件对 Angular 神奇地“工作”。事实上,为了让 Angular 工作,我必须在我的 head 元素中使用老式的方法:

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>

那么 MEAN.JS 在这里实际上做了什么?如果不是这种方式,我应该如何集成 Angular?我很感激这方面的任何帮助。

谢谢!

4

3 回答 3

1

Angular 的最佳实践是加载脚本不是在 HEAD 中,而是在标签之前的 documenet 末尾。滚动到您的 html 文件的末尾,也许它就在这里。

    !-- Application JavaScript Files -->
    <script src="lib/angular/angular.js" type="text/javascript"></script>
    <script src="lib/angular-resource/angular-resource.js" type="text/javascript"></script>
    <script src="lib/angular-animate/angular-animate.js" type="text/javascript"></script>
    <script src="lib/angular-ui-router/release/angular-ui-router.js" type="text/javascript"></script>
    <script src="lib/angular-ui-utils/ui-utils.js" type="text/javascript"></script>
    <script src="lib/angular-bootstrap/ui-bootstrap-tpls.js" type="text/javascript"></script>
    <script src="config.js" type="text/javascript"></script>
    <script src="application.js" type="text/javascript"></script>
    .................//..............................
    <script src="modules/users/controllers/settings.client.controller.js" type="text/javascript"></script>
    <script src="modules/users/services/authentication.client.service.js" type="text/javascript"></script>
    <script src="modules/users/services/users.client.service.js" type="text/javascript"></script>
    <!-- Livereload script rendered -->
    <script src="http://localhost:35729/livereload.js" type="text/javascript"></script>
</body>

如果<script src="lib/angular/angular.js"...不在这里,请检查meanJsFolder/public/lib是否存在这些库

\angular
\angular-animate
\angular-bootstrap
.......
\bootstrap
\jquery

如果 lib 文件夹为空 - 发生了一些事情Bower- 前端的包管理器。它安装所有角度库。

于 2014-08-17T13:44:08.663 回答
0

在 CLI 中输入“bower install”。这将安装 Angular 库并将其放置在其指定的目录中。

于 2014-12-30T21:40:14.520 回答
0

原来我的问题在这里得到了回答:

未捕获的 ReferenceError:未定义角度 - Mean.IO

简而言之,我打开 /public/lib/bootstrap/ 并找到了我的 bower.json 文件。我在上面的链接中指出的行中添加了,即:

  {
  "name": "mean",
  "version": "0.3.0",
  "dependencies": {
    "angular": "latest",
    "angular-resource": "latest",
    "angular-cookies": "latest",
    "angular-mocks": "latest",
    "angular-route": "latest",
    "bootstrap": "latest",
    "angular-bootstrap": "0.10.0",
    "angular-ui-router": "#master"
  }

然后运行 ​​bower update 并加载我的页面。

于 2014-08-18T15:36:25.913 回答