0
我是require.js中的新成员,我正在使用angular.js实现requier.js,但出现错误。这里是我的代码:使用require.js和angular.js
配置文件:
require.config({
paths: {
angular: 'https://code.angularjs.org/1.5.5/angular.min',
angularRoute: '//rawgit.com/angular-ui/ui-router/0.2.15/release/angular-ui-router.min',
angularAnimate: '//ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-animate.min',
},
shim: {
'angular' : {'exports' : 'angular'},
'angularRoute': ['angular'],
'angularAnimate': ['angular']
},
priority: [
"angular"
],
});
require([
'angular',
'app',
'controllers/first-controller',
'controllers/second-controller',
'controllers/third-controller',
'services/services',
'directives/directives'
], function(angular, app) {
var $html = angular.element(document.getElementsByTagName('html')[0]);
angular.element().ready(function() {
// bootstrap the app manually
angular.bootstrap(document, ['WalletHubApp']);
});
}
);
这是我的应用程序文件:
define(['angular'], function (angular) {
var app = angular.module('app', ['ui.router','ngAnimate']);
WalletHubApp.config(function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/walletHub/1/');
$stateProvider
.state('test', {
url: '/walletHub/:id/{folderPath:[a-zA-Z0-9/]*}',
templateUrl: function ($stateParams){
return "templates/"+$stateParams.id + '.html';
},
controllerProvider: function($stateParams) {
console.log($stateParams)
var ctrlName = $stateParams.id + "Controller";
return ctrlName;
}
});
});
return app;
});
这是控制器的文件:
define(['app'], function(app) {
WalletHubApp.controller('1Controller', function ($scope,$stateParams,$stateParams,$state,$http) {
$http.get('sample.json')
.then(function(res){
$scope.persons = res.data
});
var parts = $stateParams.folderPath.split('/')
$scope.params = false;
if(parts[0] != "")
{
$scope.parts = parts;
$scope.params = true;
}
})
return;
});
我不知道什么是错的在这个code.Please帮我理清这个
“但我得到的错误”。好的,但*** ***错误? – Claies
错误:“WalletHubApp”的脚本错误,需要:控制器/第一控制器 http://requirejs.org/docs/errors.html#scripterror –
@KaranKumar您可以将'app'模块称为'app'你的配置文件和你的控制器文件中的'WalletHubApp'。将第二个更改为“app”。如果这是解决方案,那么您应该删除您的问题,因为在网站上保留“oops,我的模块名称不一致”问题确实没有任何价值。 (这里请注意,我正在讨论* RequireJS *模块,而不是Angular模块。) – Louis