应用程序模块不可用,拼写错误或忘记加载 - 在咕噜咕噜的构建之后
App module is not available, misspelled or forgot to load - after grunt build
我使用yeoman
的generator-angular
构建了一个应用程序。
我已经添加了我的代码,并注释掉了 yeoman 自动生成的代码以供参考。
当我运行grunt serve
一切正常时,但是当我构建代码(minify + concat + uglify)时,vendor.js
文件抛出一个错误,说我的主应用程序模块不可用,即使我所有的依赖项都加载良好,当然没有一个不依赖于我的应用程序。
这是我的scripts.js
构建块在我的index.html
文件中的样子:
<!-- build:js({.tmp,app}) scripts/scripts.js -->
<!--<script src="scripts/controllers/main.js"></script>-->
<!--<script src="scripts/controllers/about.js"></script>-->
<script src="app.templates.js"></script>
<script src="app.envConfig.js"></script>
<script src="app.js"></script>
<script src="components/auth/auth.srv.js"></script>
<script src="app.routes.js"></script>
<!-- endbuild -->
注意:app.templates.js
和app.envConfig.js
是我编写和使用的独立模块,不是主应用程序模块的一部分。
这是我app.js
代码:
angular
.module('my-app', [
'ngAnimate',
'ngAria',
'ngCookies',
'ngResource',
'ngTagsInput',
//'ngRoute',
'ngSanitize',
'ngTouch',
'ui.router',
'ui.bootstrap',
'my.templates',
'envConfig'
]);
我遇到了这个答案,但看起来我的代码还可以。
我做错了什么?
当 grunt 使用 grunt serve
提供文件时,它会从它提供给实时服务器的内容中删除所有注释代码 (html/css/js),但是,当 grunt 正在构建时,事实证明它会首先注入它需要构建的模块,即使是注释掉的模块,如果它们在构建块内。
串联过程将在app.js
模块之前插入main.js
和about.js
控制器代码,即使它被注释掉了。
因此,事实证明,main.js
& about.js
控制器将在创建主应用程序 moudle 之前加载,从而抛出有关它不可用的错误。
您应该完全删除注释行或将它们放在构建块之外。
相关文章:
- 在chrome.tabs.onCreated之后加载HTML页面
- 为什么元素的宽度在页面加载之后和那一刻之后不同
- 在重新加载之后检测窗口的存在
- 如何让C#代码在页面加载时运行的jquery脚本之后运行
- 在第一页加载时隐藏字段,而不是在php发布之后
- angularjs-ui路由器父状态,参数加载在子状态之后
- 在Ajax(过滤器)加载之后加载jQuery脚本
- 地图,rails 4.2,javascript,鼠标悬停,只工作一次(或两次).然后在重新加载之后
- 保持 JavaScript 在浏览器控制台中运行,即使在新的页面加载之后也是如此
- Boostrap远程模式:将动画延迟到加载之后
- 将img加载推迟到页面加载之后
- 在SVG加载之后修改它
- Angular.js控制器在视图加载之后加载
- 在css加载之后、图片下载之前运行代码
- 在页面加载之后而不是在初始阶段删除可见绑定
- 调用函数一次,仅在JQuery创建的图像被加载之后
- 附加& # 39;onclick # 39;事件到SVG元素'在加载之后
- 在<a>标记在窗口加载之后()
- 如何将某些HTML的显示延迟到javascript加载之后
- 保持前一个jquery全局变量的值不变,即使在加载之后也是如此