Yeoman发电机角度咕噜声:dist打破我的应用程序

时间:2016-04-21 06:53:14

标签: javascript angularjs gruntjs yeoman yeoman-generator-angular

我用Yeoman构建了一个应用程序,使用了generator-angular-jade-stylus,并且在开发版本中使用grunt serve完美地完成了所有工作,而不是控制台中的单个错误,但是在使用{{构建应用程序时1}},我的应用程序变成了一个空白页面,控制台中出现以下错误:

grunt serve:dist

我尝试了什么

我对这个错误进行了相当多的研究,发现了一些修复,但没有一个对我有用......其中一个提到useminPrepare会缩小脚本,然后uglify会再次缩小脚本,破坏脚本,他们说要从useminPrepare块中删除uglify来解决它。我尝试了这个,它只是给了我一个错误,它无法找到uglify任务,并中止。

我找到了另一个修改,说要将66e3c8ac.vendor.js:4 Uncaught Error: Failed to instantiate module monopolyApp due to: Error: [$injector:nomod] Module 'monopolyApp' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument. http://errors.angularjs.org/1.2.15/$injector/nomod?p0=mon... at http://localhost:9000/scripts/66e3c8ac.vendor.js:4:12729 at http://localhost:9000/scripts/66e3c8ac.vendor.js:4:20410 at b (http://localhost:9000/scripts/66e3c8ac.vendor.js:4:19993) at http://localhost:9000/scripts/66e3c8ac.vendor.js:4:20305 at http://localhost:9000/scripts/66e3c8ac.vendor.js:4:27065 at Array.forEach (native) at f (http://localhost:9000/scripts/66e3c8ac.vendor.js:4:13059) at k (http://localhost:9000/scripts/66e3c8ac.vendor.js:4:27005) at Fa (http://localhost:9000/scripts/66e3c8ac.vendor.js:4:28542) at e (http://localhost:9000/scripts/66e3c8ac.vendor.js:4:18649) 更改为<!-- build:js scripts/vendor.js --><!-- build:js(app/..) scripts/vendor.js --> - 使用此方法从控制台中删除了错误,但仍然留下了空白页。< / p>

我已将模块正确附加到正文<!-- build:js(./) scripts/vendor.js -->,这就是我的模块在app.js中的定义方式:

body(ng-app="monopolyApp")

并在控制器(main.js)中

angular
  .module('monopolyApp', [
    'ngCookies',
    'ngResource',
    'ngSanitize',
    'ngRoute',
    'LocalStorageModule'
  ])

我还在this gist中包含了index.jade,app.js和main.js以供进一步参考。如果需要任何进一步的信息来诊断此错误,请告诉我,但我已经尝试了所有可以找到的解决方案,但没有任何工作。任何帮助表示赞赏。谢谢!

1 个答案:

答案 0 :(得分:2)

当您使用Yeoman创建应用程序时,它可以在您的Grunt文件和您的bower.json文件中包含模块名称。因此,请查看Gruntfile.js中的构建任务,例如:

Gruntfile.js:
  372        dist: {
  373          options: {
  374:           module: 'sitesApp',

更改&#39; sitesApp&#39;无论你在Angular代码中调用该应用程序,例如&#39; monopolyApp&#39;