MeanJS - 在index.html文件中集成Angular

时间:2014-08-16 04:37:19

标签: javascript node.js angularjs mean-stack meanjs

我来自LAMP背景,作为我下载MEAN.JS的学习项目,我可以深入了解MEAN堆栈。我把整个事情都搞定了,但我觉得我错过了一些东西......

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

所以在我看来,我要按照清单......

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

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

快速 - 检查(与节点绑定为服务器)。

Angular - .... ??

我看到安装MEAN.JS为Angular安装了几个文件夹,但我不认为我的index.html文件是神奇的"工作"对于Angular。事实上,为了让Angular工作,我必须在我的头部元素中采用良好的老式方式:

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

那么MEAN.JS究竟在这里做了什么?如果不是这样,我应该如何整合Angular?我很感激这方面的任何帮助。

谢谢!

3 个答案:

答案 0 :(得分: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 - 前端的包管理器会发生一些事情。它安装所有角度库。

答案 1 :(得分:0)

事实证明我的问题已在这里得到解答:

Uncaught ReferenceError: angular is not defined - 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并加载了我的页面。

答案 2 :(得分:0)

输入&#34; bower install&#34;在CLI中。这将安装角度库并将其放在指定的目录中。