AMDは初めてです。これは、AMD の前は次のように機能していました。
angular.module('app')
.controller('RegisterCtrl', ['$scope', '$location', '$http', '$cookies', '$timeout', 'myConfig',
function($scope, $location, $http, $cookies, $timeout, myConfig) {
this.$cookies = $cookies;
this.$timeout = $timeout;
// Retrieving a cookie
$scope.cookielocation = $cookies.get('Location');
// Delete a cookie
$cookies.remove('Location', {path: '/'});
}]);
AMD で、これは私がまとめたものです: app.js:
define(['angularAMD', 'angular-route', 'angular-cookies', 'banner', 'config', 'services', 'nullSP', 'timeAgo'], function (angularAMD) {
var app = angular.module("app", ['ngRoute', 'ngCookies']);
app.config(function ($routeProvider, $locationProvider) {
console.log("Enter route config");
$routeProvider
.when("/", angularAMD.route({
controller: 'HomeCtrl',
templateUrl: 'partials/welcome.html',
controllerUrl: 'controller_welcome'
}))
.when("/register", angularAMD.route({
controller: 'RegisterCtrl',
templateUrl: 'partials/register.html',
controllerUrl: 'controller_register'
}))
.when("/dashboard", angularAMD.route({
controller: 'DashboardCtrl',
templateUrl: 'partials/dashboard.html',
controllerUrl: 'controller_dashboard'
}))
.otherwise({
redirectTo: '/'
});
$locationProvider.html5Mode(true);
});
app.run(function ($browser) {
$browser.baseHref = function() { return window.location.pathname };
});
return angularAMD.bootstrap(app);
});
と私の controller_register.js :
define(['app', 'angular-cookies'], function (app, cookies) {
app.controller('RegisterCtrl', ['$rootScope', '$scope', '$location', '$http', '$cookies', '$timeout', 'config',
function($rootScope, $scope, $location, $http, $cookies, $timeout, config) {
// Retrieving a cookie
$scope.cookielocation = $cookies.get('Location');
// Delete a cookie
$cookies.remove('Location', {path: '/'});
});
このエラーが発生する理由:
エラー: $injector:unpr 不明なプロバイダー: $$cookieReaderProvider <- $$cookieReader <- $cookies
どうすれば修正できますか?