我已经安装了phantomjs(因为我试图让系统让我的网站有角度可抓取),而且我已经停留在" nomod"仅在phantomjs服务器上发生的错误(实时版本工作正常)。
<html lang="{{lang}}" itemscope itemtype="http://schema.org/WebPage" ng-app="myApp" class="no-js">
<base href="/">
<head>
<meta name="fragment" content="!">
</head>
<body>
....
<!-- build:js(.) scripts/vendor.js -->
<!-- bower:js -->
<script src="bower_components/angular/angular.js"></script>
........
<!-- endbower -->
<script></script>
....
<!-- endbuild -->
<!-- build:js({.tmp,app}) scripts/scripts.js -->
<script src="scripts/app.js"></script>
loading controllers
....
<!-- endbuild -->
</body>
</html>
对于app.js
'use strict';
angular
.module('myApp', [
'ngAnimate',
'ngAria',
....
])
.filter()....
.config(function ($routeProvider, $stateProvider, $urlRouterProvider, $authProvider, UIRouterMetatagsProvider) {....})
.config(function($locationProvider) {
// use the HTML5 History API
$locationProvider.html5Mode(true);
requireBase: false;
$locationProvider.hashPrefix('!')
});
当我从phantomjs ng-app访问时,在myApp初始化之前调用,我尝试使用手动引导启动应用程序但没有成功。 如果我尝试在不调用ng-app的情况下加载控制器,我仍然会收到错误,因为myApp模块在加载所有控制器后以某种方式创建。
希望有人能帮忙...... 非常感谢你。
答案 0 :(得分:0)
我也得到了名字错误。在我的情况下,这是因为我的控制器中有“const”声明。
将“const”改为“var”解决了这个问题。
我的错误是:
Error: [$injector:modulerr] http://errors.angularjs.org/1.3.15/$injector/modulerr?p0=myAppName&p1=[$injector:nomod] http://errors.angularjs.org/1.3.15/$injector/nomod?p0=myAppName
这是一篇相关文章,解释了PhantomJS(通过Karma)和“const”的问题。 https://github.com/karma-runner/karma/issues/1621