我正在与Angular合作开展一个项目。
当我尝试使用IIS 8
运行我的应用时,我的控制台和放大器中出现以下错误页面没有出现。
未捕获错误:[$ injector:modulerr]无法实例化模块应用 由于:错误:[$ injector:nomod]模块'app'不可用!您 要么错误拼写模块名称,要么忘记加载它。如果注册 模块确保您将依赖项指定为第二个 参数。
但是当我在本地运行我的应用程序时它工作正常。我正在使用gulp build
为IIS构建我的应用程序。
我在许多博客中进行了研究,包括Stack溢出但却无法弄清楚问题。
我试图移动脚本标签,重新检查所有拼写错误,但没有一个对我有效。我有点怀疑构建是不是100%完成了。
我已经提供了index.html
文件&下面有app.js
个文件。请告诉我我在哪里做错了。
(function() {
'use strict';
angular
.module('app', [
'triangular',
'ngAnimate', 'ngCookies', 'ngSanitize', 'ngMessages', 'ngMaterial',
'ui.router', 'pascalprecht.translate', 'LocalStorageModule',
'googlechart', 'chart.js', 'linkify',
'ui.calendar', 'angularMoment', 'textAngular', 'uiGmapgoogle-maps',
'hljs', 'md.data.table',
angularDragula(angular), 'ngFileUpload', 'ngProgress',
//'app.examples',
'roadrunner'
])
// create a constant for languages so they can be added to both
triangular & translate
.constant('APP_LANGUAGES', [{
name: 'LANGUAGES.CHINESE',
key: 'zh'
},{
name: 'LANGUAGES.ENGLISH',
key: 'en'
},{
name: 'LANGUAGES.FRENCH',
key: 'fr'
},{
name: 'LANGUAGES.PORTUGUESE',
key: 'pt'
}])
// set a constant for the API we are connecting to
.constant('API_CONFIG', {
'url': 'http://triangular-api.oxygenna.com/'
})
.run(function (auth, $rootScope, $state, $mdToast, ngProgressFactory) {
auth.tryRestoreSession();
var progressbar = ngProgressFactory.createInstance();
$rootScope.$on('$stateChangeStart', function (event, toState,
toParams, fromState, fromParams) {
//!auth.checkAuth(); // check for null $rootScope.user
//!toState.freeAccess; // check for no freeAccess state
progressbar.setColor("rgb(156,39,176)");
progressbar.start();
//progressbar.set(40);
if (toState.freeAccess !== true && !auth.checkAuth()) {
event.preventDefault();
$state.go('authentication.login');
}
if (toState.name == 'authentication.login') {
if (auth.checkAuth()) {
event.preventDefault();
$state.go(fromState.name !== "" ? fromState.name :
'triangular-no-scroll.student.profile');
$mdToast.show({
template: '<md-toast class="md-toast
success">Already logged in</md-toast>',
hideDelay: 3000,
position: 'top right'
})
}
}
});
$rootScope.$on('$stateChangeSuccess', function (event, toState,
toParams, fromState, fromParams) {
progressbar.complete();
});
})
})();
<!doctype html>
<html class="no-js" ng-app="app">
<head>
<meta charset="utf-8">
<title>Triangular</title>
<!-- build:js(src) scripts/vendor.js -->
<!-- bower:js -->
<script src="../bower_components/jquery/dist/jquery.js"></script>
<script src="../bower_components/angular/angular.js"></script>
<script src="../bower_components/angular-animate/angular-animate.js">
</script>....
<!-- build:js({.tmp/serve,.tmp/partials,src}) scripts/app.js -->
<!-- inject:js -->
<script src="app/modules/student/common/student.common.module.js"></script>
<script src="app/modules/student/common/models/student.model.js"></script>
<script src="app/app.module.js"></script>...
gulp.task('bower', ['clean'], function () {
gulp.start('bower:build');
});
gulp.task('bower:build', ['bower:scripts', 'bower:styles',
'bower:scripts:minify', 'bower:styles:minify']);
gulp.task('bower:scripts', ['bower:partials'], function () {
return gulp.src([
path.join(paths.src, '/app/triangular/**/*.js'),
path.join(paths.tmp, 'partials', 'templateCacheHtml.js')
])
.pipe($.angularFilesort())
.pipe($.ngAnnotate())
.pipe($.concat('triangular.js'))
.pipe(gulp.dest(paths.dist + '/'));
});