recherche

Maison  >  Questions et réponses  >  le corps du texte

angulaire.js - J'ai utilisé r.js pour empaqueter les dépendances et j'ai découvert qu'angular signalait une erreur que j'avais utilisée pour introduire le fichier angulaire.

fichier angulaire.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,fichier d'entrée 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"
})

Message d'erreur

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) 

Ceci est juste une petite démo de tâches écrites par moi. Je veux essayer de l'emballer avec r.js, mais angulaire continue de l'enregistrer. Il n'y avait presque aucune erreur avant l'empaquetage à l'aide de r.js.
Adresse de démonstration :
pour l'emballage
après emballage

迷茫迷茫2819 Il y a quelques jours701

répondre à tous(2)je répondrai

  • 某草草

    某草草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...)

    répondre
    0
  • 为情所困

    为情所困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).

    répondre
    0
  • Annulerrépondre