【发布时间】:2016-05-31 07:52:21
【问题描述】:
我正在使用 angularJS 开发一个简单的 Web 应用程序,但我遇到了这个我无法解决的问题。运行我的网站,我在控制台中收到此错误:
未捕获的错误:[$injector:modulerr] 无法实例化模块 App 由于:错误:[$injector:nomod] 模块“应用程序”不可用!你 要么拼错模块名称,要么忘记加载它。如果注册 一个模块确保您将依赖项指定为第二个 论据。
但我确定我没有拼错模块名称或忘记加载它。这是我的代码:
var App = angular.module('App', ['ngRoute', 'ngMaterial', 'ui-notification', 'ngFileUpload']);
App.run(['$rootScope', '$location', function($rootScope, $location) {
console.log("TEST");
}]);
App.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
// TODO: routing
}]);
App.factory('file-uploader', ['Upload', function(Upload) {
var uploadFile = function(file, callback) {
var uploader;
uploader = Upload.upload({
url: 'SERVER URL' + '/upload-file',
data: {
image: file
}
});
uploader.then(function(fileData) {
return callback(null, fileData);
});
uploader.catch(function(error) {
return callback(error, null);
});
};
return uploadFile;
}]);
这是我的 index.html:
<!DOCTYPE html>
<html ng-app="App">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1">
<meta name="description" content="">
<meta name="author" content="AUTHOR">
<title>PROJECT NAME | Login</title>
<link rel="stylesheet" href="/bower_components/angular-material/angular-material.css">
<link rel="stylesheet" href="/bower_components/angular-ui-notification/dist/angular-ui-notification.min.css">
<link rel="stylesheet" href="css/main.css" type="text/css">
</head>
<body ng-class="location" ng-cloak>
<div ng-view></div>
<script defer src="/bower_components/angular/angular.js"></script>
<script defer src="/bower_components/angular-route/angular-route.js"></script>
<script defer src="/bower_components/angular-aria/angular-aria.js"></script>
<script defer src="/bower_components/angular-animate/angular-animate.js"></script>
<script defer src="/bower_components/angular-messages/angular-messages.js"></script>
<script defer src="/bower_components/angular-ui-notification/dist/angular-ui-notification.min.js"></script>
<script defer src="/bower_components/angular-material/angular-material.js"></script>
<script defer src="/bower_components/jquery/dist/jquery.js"></script>
</body>
</html>
我已经用 bower 安装了所有的包...
谁能告诉我问题出在哪里,我该如何解决?
【问题讨论】:
-
您是否在您的 html 中某处使用
ng-app="App"包含了该应用程序? -
这份清单可能会有所帮助:stackoverflow.com/a/26797874/930170
-
@thepio 当然,在我的 html 中我有 html(ng-app="App")
-
您是否还确保拥有所有可用的外部资源?喜欢
ngRoute等?我让你的代码在 jsfiddle 中正常工作:jsfiddle.net/gxn9x9g4。我当然删除了除ngRoute之外的所有其他依赖项。 -
您的
标签: javascript angularjs