javascript - 如何将 angularJS 与 Yeoman 的 webapp-generator 一起使用

标签 javascript angularjs yeoman yeoman-generator

我想在我的 Web 应用程序生成器设置中使用 AngularJS。 (我知道有一个 Angular 生成器,但我更喜欢 Webapp 生成器的文件夹结构)。

我已经使用 bower install angular --save 安装了 Angular,并在我的索引中引用了 js 文件:

<!-- build:js scripts/vendor.js -->
<!-- bower:js -->
<script src="/bower_components/jquery/dist/jquery.js"></script>
<script src="/bower_components/angular/angular.js"></script>
<!-- endbower -->
<!-- endbuild -->

<!-- build:js scripts/main.js -->
<script src="scripts/main.js"></script>
<script src="scripts/controllers/MainController.js"></script>
<!-- endbuild -->

当我运行 gulpserve 时,一切都运行良好。

但是,当我运行 gulp default (并在复制 dist 文件夹的内容后尝试在其他地方打开网站)时,我在注入(inject) Controller 时遇到错误:

Error: [$injector:unpr] Unknown provider: eProvider <- e <- MainCtrl
http://errors.angularjs.org/1.5.0/$injector/unpr?p0=eProvider%20%3C-%20e%20%3C-%20MainCtrl

这是我的文件夹结构:

app
-> scripts
->-> Controllers
->->-> MainController.js
->-> main.js

这是 main.js:

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

这是 MainController.js:

/**
 * Created by kv on 24/02/16.
 */
app.controller('MainCtrl', function ($scope) {
  $scope.user = {};
  $scope.showSuccess = false;
  $scope.registerFormSubmitted = false;

  //Some other code...
});

可能出了什么问题?和/或在使用 Yeoman 的 webapp 生成器的设置中使用 Angular 的正确方法是什么?

最佳答案

如果您要缩小代码,请尝试以下操作:

app.controller('MainCtrl', ['$scope', function ($scope) {
  $scope.user = {};
  $scope.showSuccess = false;
  $scope.registerFormSubmitted = false;

  //Some other code...
}]);

当代码被缩小时,...function ($scope) 被更改为类似 function (e) 的东西,然后 Angular 可以找到 e 来注入(inject),但是如果你像这样使用: ['$scope', function ( $scope) { ...缩小后的代码将类似于 ['$scope', function (e) {.因此,当 Angular 进行注入(inject)时,他会找到“$scope”并注入(inject) e 变量。

关于javascript - 如何将 angularJS 与 Yeoman 的 webapp-generator 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35626308/

相关文章:

angularjs - 自动完成文本框和 AngularJS

node.js - Gruntfile.js 路径中的 `{,*/}` 是什么意思?

javascript - Yeoman 生成器 Angular 构建任务无法正常工作

asp.net - 我可以获得有关 JavaScript 委托(delegate)的一些建议吗?

javascript - 在不执行对象复制的情况下使用 lambda 更新 amazon s3 对象元数据?

javascript - 从 javascript 将 Click 事件放置在 html 中的 anchor 标记上?

javascript - 完全相同的代码在 Dreamweaver 中无法正常工作

javascript - 带分页的 Angular 搜索

angularjs - 在 AngularJs 中装饰 ng-click 指令

angularjs - 如何在同一个域/服务器上部署 AngularJS 应用程序和 Spring Restful API 服务?