Javascript 使用带有角度抛出异常的RequireJS
我正在使用RequireJS加载AngularJS控制器以服务于我的前端html。 但是,即使加载了所有必需的LIB,它也会抛出异常:Javascript 使用带有角度抛出异常的RequireJS,javascript,angularjs,module,requirejs,frontend,Javascript,Angularjs,Module,Requirejs,Frontend,我正在使用RequireJS加载AngularJS控制器以服务于我的前端html。 但是,即使加载了所有必需的LIB,它也会抛出异常: [$injector:modulerr] Failed to instantiate module metaapp due to: Error: [$injector:nomod] Module 'metaapp' is not available! 有人能给我指个路吗 以下是我的目录结构: metacontroller.js: /*global defin
[$injector:modulerr] Failed to instantiate module metaapp due to: Error: [$injector:nomod] Module 'metaapp' is not available!
有人能给我指个路吗
以下是我的目录结构:
metacontroller.js:
/*global define*/
'use strict';
define(['angular'], function(angular){
return ['$scope', function($scope){
$scope.test = "haha";
}
];
});
Index.html
<!doctype html>
<html lang="en" data-framework="angularjs">
<head>
</head>
<body ng-app="metaapp" ng-controller="MetaController">
{{test}}
<script data-main="js/main" src="js/lib/require.js"></script>
</body>
</html>
main.js
/*global require*/
'use strict';
require.config({
paths: {
angular: 'lib/angular'
},
shim: {
angular: {
exports: 'angular'
}
},
deps: ['app']
});
-------------第一次更新-----------------
更新控制器-将作用域替换为$scope
-------------第二次更新----------------
在app.js
中,删除依赖项注入。但是仍然不起作用
错误:
angular.js:63未捕获错误:[$injector:modulerr]未能实例化模块metaapp,原因是:错误:[$injector:nomod]模块“metaapp”不可用!您要么拼错了模块名,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数
----------------------更新3--------------------
好吧,我想起来了。。。
我错过了这行代码:angular.bootstrap(文档,['metaapp'])代码>现在它工作了,因为我可以看到html页面上解释的哈哈
。
但是我仍然可以看到错误,有什么想法吗?不确定这两个嵌套模块的行为。
它们可以合并为一个吗
/*global require*/
'use strict';
require([
'angular',
'app/UserMeta/metacontroller',
'app/UserMeta/metaservice'
], function (angular, metaCtrl, metaSrv) {
var app = angular.module('metaapp', [metaCtrl, metaSrv]);
app.controller('MetaController', metaCtrl);
});
var-app=angular.module('metaapp',[]);应用控制器(“元控制器”,元控制器)代码>--只是尝试了一下,不起作用-(angular.js:63未捕获错误:[$injector:modulerr]未能实例化模块metaapp,原因是:错误:[$injector:nomod]模块“metaapp”不可用!您可能拼错了模块名称或忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数
/*global require*/
'use strict';
require([
'angular',
'app/UserMeta/metacontroller',
'app/UserMeta/metaservice'
], function (angular, metaCtrl, metaSrv) {
var app = angular.module('metaapp', [metaCtrl, metaSrv]);
app.controller('MetaController', metaCtrl);
});