Javascript ngDialog的问题-Angularjs
我已经使用bower install ng dialog在我的项目中安装了ngDialog模块。我可以通过检查我的bower.json文件来验证它是否已安装Javascript ngDialog的问题-Angularjs,javascript,angularjs,Javascript,Angularjs,我已经使用bower install ng dialog在我的项目中安装了ngDialog模块。我可以通过检查我的bower.json文件来验证它是否已安装 { "name": "larissaApp", "description": "Municipality of Larissa", "main": "index.html", "keywords": [ "larissa
{
"name": "larissaApp",
"description": "Municipality of Larissa",
"main": "index.html",
"keywords": [
"larissa",
"Greece",
"History"
],
"authors": [
"Theo Tziomakas"
],
"license": "MIT",
"homepage": "",
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"test",
"tests"
],
"dependencies": {
"bootstrap": "^3.3.7",
"font-awesome": "^4.7.0",
"ng-dialog": "^1.3.0"
}
}
然而,当我运行我的项目时,我得到了这个错误
Unknown provider: ngDialogProvider <- ngDialog <- HeaderController
还有我的services.js
'use strict';
angular.module('larissaApp')
.constant('baseURL', 'http://localhost:3000/')
.factory('AuthFactory', ['$resource', '$http', '$localStorage', '$rootScope', '$window', 'baseURL', 'ngDialog', function($resource, $http, $localStorage, $rootScope, $window, baseURL, ngDialog){
var authFac = {};
var TOKEN_KEY = 'Token';
var isAuthenticated = false;
var username = '';
var authToken = undefined;
function loadUserCredentials() {
var credentials = $localStorage.getObject(TOKEN_KEY,'{}');
if (credentials.username != undefined) {
useCredentials(credentials);
}
}
function storeUserCredentials(credentials) {
$localStorage.storeObject(TOKEN_KEY, credentials);
useCredentials(credentials);
}
function useCredentials(credentials) {
isAuthenticated = true;
username = credentials.username;
authToken = credentials.token;
// Set the token as header for your requests!
$http.defaults.headers.common['x-access-token'] = authToken;
}
function destroyUserCredentials() {
authToken = undefined;
username = '';
isAuthenticated = false;
$http.defaults.headers.common['x-access-token'] = authToken;
$localStorage.remove(TOKEN_KEY);
}
authFac.login = function(loginData) {
$resource(baseURL + "users/login")
.save(loginData,
function(response) {
storeUserCredentials({username:loginData.username, token: response.token});
$rootScope.$broadcast('login:Successful');
},
function(response){
isAuthenticated = false;
var message = '\
<div class="ngdialog-message">\
<div><h3>Login Unsuccessful</h3></div>' +
'<div><p>' + response.data.err.message + '</p><p>' +
response.data.err.name + '</p></div>' +
'<div class="ngdialog-buttons">\
<button type="button" class="ngdialog-button ngdialog-button-primary" ng-click=confirm("OK")>OK</button>\
</div>'
ngDialog.openConfirm({ template: message, plain: 'true'});
}
);
};
authFac.logout = function() {
$resource(baseURL + "users/logout").get(function(response){
});
destroyUserCredentials();
};
authFac.register = function(registerData) {
$resource(baseURL + "users/register")
.save(registerData,
function(response) {
authFac.login({username:registerData.username, password:registerData.password});
if (registerData.rememberMe) {
$localStorage.storeObject('userinfo',
{username:registerData.username, password:registerData.password});
}
$rootScope.$broadcast('registration:Successful');
},
function(response){
var message = '\
<div class="ngdialog-message">\
<div><h3>Registration Unsuccessful</h3></div>' +
'<div><p>' + response.data.err.message +
'</p><p>' + response.data.err.name + '</p></div>';
ngDialog.openConfirm({ template: message, plain: 'true'});
}
);
};
authFac.isAuthenticated = function() {
return isAuthenticated;
};
authFac.getUsername = function() {
return username;
};
loadUserCredentials();
return authFac;
}]);
但现在我得到了这个错误
Failed to instantiate module larissaApp due to:
Error: [$injector:modulerr]
http://errors.angularjs.org/1.6.4/$injector/modulerr?p0=n...)
at
http://127.0.0.1:56710/larissaApp/public/bower_components/angular
/angular.min.js:6:425
at http://127.0.0.1:56710/larissaApp/public/bower_components/angular
/angular.min.js:42:407
谢谢
Theo.分享你的angularjs代码。。如何实例化模块..正如我在评论中提到的,您仍然没有添加模块初始化代码。。它将在
angular.module(“…”,
旁边的[]
中列出依赖项。您也可以发布您的app.js吗?您可能已经忘记了angular.module依赖项。它类似于此angular.module('larissaApp',['ngDialog'))我还添加了问题中的app.js文件。现在一切看起来都很好,你能将angular.min.js更改为angular.js吗?它可能会给出更详细的错误。共享你的angularjs代码..如何实例化你的模块..正如我在评论中提到的,你还没有添加模块初始化代码..它将在[]中列出依赖项
在angular.module(“…”,
旁边,你能不能也发布你的app.js?你可能忘记了angular.module的依赖关系。它类似于这个angular.module('larissaApp',['ngDialog'))我在问题中也添加了app.js文件。现在一切看起来都很好,你能把angular.min.js改成angular.js吗?它可能会给出更详细的错误。
'use strict';
angular.module('larissaApp')
.constant('baseURL', 'http://localhost:3000/')
.factory('AuthFactory', ['$resource', '$http', '$localStorage', '$rootScope', '$window', 'baseURL', 'ngDialog', function($resource, $http, $localStorage, $rootScope, $window, baseURL, ngDialog){
var authFac = {};
var TOKEN_KEY = 'Token';
var isAuthenticated = false;
var username = '';
var authToken = undefined;
function loadUserCredentials() {
var credentials = $localStorage.getObject(TOKEN_KEY,'{}');
if (credentials.username != undefined) {
useCredentials(credentials);
}
}
function storeUserCredentials(credentials) {
$localStorage.storeObject(TOKEN_KEY, credentials);
useCredentials(credentials);
}
function useCredentials(credentials) {
isAuthenticated = true;
username = credentials.username;
authToken = credentials.token;
// Set the token as header for your requests!
$http.defaults.headers.common['x-access-token'] = authToken;
}
function destroyUserCredentials() {
authToken = undefined;
username = '';
isAuthenticated = false;
$http.defaults.headers.common['x-access-token'] = authToken;
$localStorage.remove(TOKEN_KEY);
}
authFac.login = function(loginData) {
$resource(baseURL + "users/login")
.save(loginData,
function(response) {
storeUserCredentials({username:loginData.username, token: response.token});
$rootScope.$broadcast('login:Successful');
},
function(response){
isAuthenticated = false;
var message = '\
<div class="ngdialog-message">\
<div><h3>Login Unsuccessful</h3></div>' +
'<div><p>' + response.data.err.message + '</p><p>' +
response.data.err.name + '</p></div>' +
'<div class="ngdialog-buttons">\
<button type="button" class="ngdialog-button ngdialog-button-primary" ng-click=confirm("OK")>OK</button>\
</div>'
ngDialog.openConfirm({ template: message, plain: 'true'});
}
);
};
authFac.logout = function() {
$resource(baseURL + "users/logout").get(function(response){
});
destroyUserCredentials();
};
authFac.register = function(registerData) {
$resource(baseURL + "users/register")
.save(registerData,
function(response) {
authFac.login({username:registerData.username, password:registerData.password});
if (registerData.rememberMe) {
$localStorage.storeObject('userinfo',
{username:registerData.username, password:registerData.password});
}
$rootScope.$broadcast('registration:Successful');
},
function(response){
var message = '\
<div class="ngdialog-message">\
<div><h3>Registration Unsuccessful</h3></div>' +
'<div><p>' + response.data.err.message +
'</p><p>' + response.data.err.name + '</p></div>';
ngDialog.openConfirm({ template: message, plain: 'true'});
}
);
};
authFac.isAuthenticated = function() {
return isAuthenticated;
};
authFac.getUsername = function() {
return username;
};
loadUserCredentials();
return authFac;
}]);
'use strict';
angular.module('larissaApp', ['ui.router','ngResource','ngDialog'])
.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
// route for the home page
.state('app', {
url:'/',
views: {
'header': {
templateUrl : 'views/header.html',
controller : 'HeaderController'
},
'content': {
templateUrl : 'views/home.html',
controller : 'HomeController'
},
'footer': {
templateUrl : 'views/footer.html',
}
}
})
// route for the contactus page
.state('app.city', {
url:'city',
views: {
'content@': {
templateUrl : 'views/city.html',
controller : 'CityController'
}
}
})
.state('app.administration', {
url:'administration',
views: {
'content@': {
templateUrl : 'views/administration.html',
controller : 'ΑdministrationController'
}
}
})
// route for the contactus page
.state('app.contactus', {
url:'contactus',
views: {
'content@': {
templateUrl : 'views/contactus.html',
controller : 'ContactController'
}
}
})
// route for the contactus page
.state('app.alcazar-park', {
url:'alcazar-park',
views: {
'content@': {
templateUrl : 'views/alcazar-park.html',
controller : 'ΑlcazarParκController'
}
}
})
.state('app.first_ancient_theatre', {
url:'first_ancient_theatre',
views: {
'content@': {
templateUrl : 'views/first_ancient_theatre.html',
controller : 'FirstAncientTheatreController'
}
}
})
.state('app.second_ancient_theatre', {
url:'second_ancient_theatre',
views: {
'content@': {
templateUrl : 'views/second_ancient_theatre.html',
controller : 'SecondAncientTheatreController'
}
}
})
.state('app.bezesteni', {
url:'bezesteni',
views: {
'content@': {
templateUrl : 'views/bezesteni.html',
controller : 'BezesteniController'
}
}
})
.state('app.basilica', {
url:'basilica',
views: {
'content@': {
templateUrl : 'views/basilica.html',
controller : 'BasilicaController'
}
}
})
.state('app.mill_of_pappas', {
url:'mill_of_pappas',
views: {
'content@': {
templateUrl : 'views/mill_of_pappas.html',
controller : 'MillController'
}
}
})
.state('app.church', {
url:'church',
views: {
'content@': {
templateUrl : 'views/church.html',
controller : 'ChurchController'
}
}
})
// route for the newsdetails page
.state('app.newsdetails', {
url: 'newsdetails/:id',
views: {
'content@': {
templateUrl : 'views/newsdetails.html',
controller : 'NewsDetailsController'
}
}
});;
$urlRouterProvider.otherwise('/');
})
;
Failed to instantiate module larissaApp due to:
Error: [$injector:modulerr]
http://errors.angularjs.org/1.6.4/$injector/modulerr?p0=n...)
at
http://127.0.0.1:56710/larissaApp/public/bower_components/angular
/angular.min.js:6:425
at http://127.0.0.1:56710/larissaApp/public/bower_components/angular
/angular.min.js:42:407