Maison > Questions et réponses > le corps du texte
angular.js文件
define(['angular'],function(){
angular.module("todosa",[]).controller("todosAngular",function($scope){
$scope.sum=new Array();
var fn=function(){
if($scope.sum.length<10 ){
if($scope.arr!=="" && $scope.arr!==undefined){
$scope.sum.unshift($scope.arr);
$scope.arr="";
}
}else{
alert("已经10个了,不能在增加了。");
$scope.arr="";
}
}
$scope.todosAclick=function(){
fn();
};
$scope.todosAremove=function(){
$scope.sum=[];
$scope.arr="";
};
$scope.todosAre=function(s){
$scope.sum.splice(s,1);
};
$scope.akeydown=function(e){
if(e.keyCode==13) fn();
};
});
})
main.js,reuiqre入口文件
require.config({
baseUrl:"../js/",
paths:{
'jquery':'lis/jquery.min',
'avalon':'lis/avalon.min',
'angular':'lis/angular.min'
}
});
require(['todosAngular','todosjs','todosAvalon','todosJquery'],function(){
});
R.js
({
baseUrl:".",
name:'todosmain',
paths:{
'jquery':'lis/jquery.min',
'avalon':'lis/avalon.min',
'angular':'lis/angular.min'
},
excludeShallow:["angular","avalon","jquery"],
out:"todos-Set.js"
})
报错信息
Error: [$injector:unpr] http://errors.angularjs.org/1.4.3/$injector/unpr?p0=eProvider%20%3C-%20e%20%3C-%20todosAngular
at Error (<anonymous>)
at http://127.0.0.1:4000/sunshine/add/js/lis/angular.min.js:6:416
at http://127.0.0.1:4000/sunshine/add/js/lis/angular.min.js:40:375
at Object.d [as get] (http://127.0.0.1:4000/sunshine/add/js/lis/angular.min.js:38:364)
at http://127.0.0.1:4000/sunshine/add/js/lis/angular.min.js:40:449
at d (http://127.0.0.1:4000/sunshine/add/js/lis/angular.min.js:38:364)
at Object.e [as invoke] (http://127.0.0.1:4000/sunshine/add/js/lis/angular.min.js:39:124)
at P.instance (http://127.0.0.1:4000/sunshine/add/js/lis/angular.min.js:80:122)
at S (http://127.0.0.1:4000/sunshine/add/js/lis/angular.min.js:61:199)
at g (http://127.0.0.1:4000/sunshine/add/js/lis/angular.min.js:54:384)
这是我写的todos小demo而已,想尝试用r.js打包,但是angular不停保存。没用r.js打包前基本没有报错。
demo地址:
为打包
打包后
某草草2017-05-15 16:56:34
1. Je sais probablement où se trouve votre erreur. En regardant le message d'erreur, il devrait s'agir d'un problème d'injection de dépendances. Vous devez injecter les éléments dépendants dans votre contrôleur. Le contrôle doit être écrit comme ceci : App.controller("CtrlName",["$scope",function($scope){...}]) car sinon, sa structure sera détruite lors du packaging. Donc une erreur. sera signalé ; je vous réponds sur mon téléphone portable, ce qui est gênant, si j'ai le temps, je vous donnerai une explication plus détaillée sur mon ordinateur.
(Je ne sais pas pourquoi le code est toujours tronqué après modification...)
为情所困2017-05-15 16:56:34
Avant de packager avec r.js, utilisez ngAnnotate pour gérer la syntaxe d'injection de dépendances (vous n'avez donc pas besoin de la syntaxe du mode tableau. Bien sûr, il est préférable d'utiliser un outil de construction pour automatiser ce processus).