我用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以供进一步参考。如果需要任何进一步的信息来诊断此错误,请告诉我,但我已经尝试了所有可以找到的解决方案,但没有任何工作。任何帮助表示赞赏。谢谢!
答案 0 :(得分:2)
当您使用Yeoman创建应用程序时,它可以在您的Grunt文件和您的bower.json文件中包含模块名称。因此,请查看Gruntfile.js中的构建任务,例如:
Gruntfile.js:
372 dist: {
373 options: {
374: module: 'sitesApp',
更改&#39; sitesApp&#39;无论你在Angular代码中调用该应用程序,例如&#39; monopolyApp&#39;