AngularJS 1.2 $ ইনজেক্টর: মডিউল


445

নিম্নলিখিত কুকুরের কোডটি 1.07 এর পরিবর্তে কৌনিক 1.2 ব্যবহার করার সময় আর বৈধ নয় কেন?

'use strict';

var app = angular.module('myapp', []);

app.config(['$routeProvider', '$locationProvider',
    function($routeProvider, $locationProvider) {
        $locationProvider.html5Mode(true);
        $routeProvider.
        when('/', {
            templateUrl: 'part.html',
            controller: 'MyCtrl'
        }).
        otherwise({
            redirectTo: '/'
        });
    }
]);

সমস্যাটি ইনজেক্টর কনফিগারেশন অংশে (app.config):

Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.2.0rc1/$injector/modulerr?p0=muninn&p1=Error%…eapis.com%2Fajax%2Flibs%2Fangularjs%2F1.2.0rc1%2Fangular.min.js%3A31%3A252) 

যদি আমি সঠিকভাবে মনে রাখি তবে এই সমস্যাটি কৌনিক 1.1.6 দিয়ে শুরু হয়েছিল।

উত্তর:


636

এনজিআরউট মডিউলটি অন্তর্ভুক্ত করার কারণে সমস্যাটি হয়েছিল। সংস্করণ 1.1.6 যেহেতু এটি একটি পৃথক অংশ:

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0rc1/angular-route.min.js"></script>

var app = angular.module('myapp', ['ngRoute']);

492
আপনি কি নিশ্চিতরূপে যা মডিউল অনুপস্থিত না হন, তাহলে minified না angular.js যা পাঠযোগ্য ত্রুটি বার্তা দেয় ব্যবহার করুন:"Error: [$injector:nomod] Module 'ngRoute' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument."
মার্ট

2
হুম, আমি বোভার ব্যবহার করছি এবং এটি ম্যাপ ফাইল সরবরাহ করে - আমি অবাক হয়েছি কেন ক্রোম এখনও আমাকে সংশোধিত ফাইল থেকে ত্রুটি দেখাচ্ছে। শীর্ষস্থানীয়দের জন্য ধন্যবাদ, @ মার্ট!
আদিত্য এমপি

5
@ আরজি ২০, আপনি উত্তরটি এখানে পাবেন: github.com/angular/angular.js/commit/…
লরেন্ট

4
পবিত্র গরু আমি এর সমাধানের জন্য সর্বদা খুঁজছি। আমি 1.0 থেকে 1.2 থেকে আপগ্রেড করেছি এবং এই ত্রুটি পেয়েছি। আমি যে পরামর্শটি পেয়েছি তা হ'ল কৌণিক-রুট.জেএস অন্তর্ভুক্ত করা হয়েছে কিনা তা নিশ্চিত করা, যা এটি ছিল .... কৌনিক দস্তাবেজের ভক্ত নয়। যাই হোক ধন্যবাদ! আমি ভোট দিয়েছি
রাচেলড

4
আপনি যদি নিজের মডিউলটি সংজ্ঞায়িত করার সময় কৌণিক.মডিউল ('মাইমডিউল') পরিবর্তে কৌণিক.মডিউল ('মাইমডিউল') ব্যবহার করেন তবে আপনি এই ত্রুটিটি পেতে পারেন। stackoverflow.com/questions/16260538/…
অনিরোধন জে

42

শেষে এই '()' যুক্ত করে আমার ত্রুটি অদৃশ্য হয়ে গেল

(function(){
    var home = angular.module('home',[]);

    home.controller('QuestionsController',function(){
        console.log("controller initialized");
        this.addPoll = function(){
            console.log("inside function");
        };
    });
})();

40

এই তালিকায় যুক্ত করার জন্য আরও একটি বিষয় হ'ল 'ত্রুটি: [$ ইনজেক্টর: মডিউলার] কৌনিক': এর গুগল অনুসন্ধানের সাথে প্রথম ফলাফলটি আসে:

আপনার 'ইনডেক্স'এইচটিএমএল' এবং আপনার প্রধান জাভাস্ক্রিপ্ট অ্যাপ সংজ্ঞাতে আপনার অ্যাপ্লিকেশানের নামের মধ্যে কোনও মিল নেই তবে এটি এই ত্রুটিটিও তৈরি করতে পারে।

উদাহরণস্বরূপ, যদি আপনার এইচটিএমএল এর মত দেখাচ্ছে:

    </head>
    <body ng-app="myWebSite">

        <!-- My Web Site -->
        <p>About my web site...</p>

        etc ...

এবং আপনার জাভাস্ক্রিপ্টটি দেখতে দেখতে (যেমন অ্যাপ্লিকেশন নামের একটি টাইপ রয়েছে - মাই ওয়েবসাইটের পরিবর্তে মাইওয়েবসাইট):

/** Main AngularJS Web Application */ 
var app = angular.module('myWebCite', [ 'ngRoute' ]); 

/** Configure the Routes */ 
app.config(['$routeProvider', function ($routeProvider) { 
  etc ...

তারপরে 'ত্রুটি: [$ ইনজেক্টর: মডিউলার] কৌণিক' ত্রুটিও উত্পন্ন হবে।


আমার এই খুব কাছাকাছি ছিল। আমি এনজি-অ্যাপ = "অ্যাপ" সেট করে রেখেছিলাম ... এবং তারপরে মডিউলটি কখনও সেটআপ করব না। সুতরাং এটি ত্রুটি ট্রিপিং ছিল। শিক্ষানবিস হিসাবে, আমার নমুনা কোডটি কাজ করতে আমি কেবল "" অ্যাপ্লিকেশন "টুকরোটি সরিয়েছি। পরে, আমি যথাযথ মডিউল এবং রাউটিং সেটআপ করেছি ... :)
এরিক বার্ডো

25

একটি নুব ত্রুটি মডিউল জেএস অন্তর্ভুক্ত করতে ভুলে যেতে পারে

<script src="app/modules/myModule.js"></script>

সূচিপত্রের ফাইলগুলি সবসময়ই t


24
ডিবাগিং / ত্রুটি বার্তাগুলি কৌণিকর মধ্যে কতটা খারাপ তা অবাক করে।
কে - এসও-তে বিষক্রিয়া বাড়ছে।

3
হাঃ হাঃ হাঃ. আমি আমার নিজেকে বললাম, না, আমি এই সাধারণ ত্রুটি করতে পারি না। এবং আমি আপনার উত্তর একাধিকবার পাস। তবে এটি আমার সমস্যার সমাধান করেছে।
মৌবেহ

এটি কিছু আমদানি নিখোঁজ সম্পর্কে
ফ্যামাস 23

13

যারা ফ্রেমওয়ার্ক ব্যবহার করেন যা ফাইলগুলি সংকুচিত করে, বান্ডিল করে এবং মিনাইফ করে, নিশ্চিত করুন যে আপনি প্রতিটি নির্ভরতা সুস্পষ্টভাবে সংজ্ঞায়িত করেছেন কারণ এই ফ্রেমওয়ার্কগুলি আপনার ভেরিয়েবলগুলির নাম পরিবর্তন করে। BundleConfig.csআমার অ্যাপ্লিকেশন স্ক্রিপ্টগুলি একসাথে বান্ডিল করতে ASP.NET ব্যবহার করার সময় আমার সাথে এটি ঘটেছিল ।

আগে

app.config(function($routeProvider) {
    $routeProvider.
      when('/', {
          templateUrl: 'list.html',
          controller: 'ListController'
      }).
      when('/items/:itemId', {
          templateUrl: 'details.html',
          controller: 'DetailsController'
      }).
      otherwise({
          redirectTo: '/'
      });
});

পরে

app.config(["$routeProvider", function($routeProvider) {
    $routeProvider.
      when('/', {
          templateUrl: 'list.html',
          controller: 'ListController'
      }).
      when('/items/:itemId', {
          templateUrl: 'details.html',
          controller: 'DetailsController'
      }).
      otherwise({
          redirectTo: '/'
      });
}]);

কৌনিক নির্ভরতা টীকা সম্পর্কে এখানে আরও পড়ুন


12

কনসোলে আপনার যদি এই ত্রুটিটি থাকে তবে ([$injector:nomod], MINERR_ASSET:22)নিশ্চিত হয়ে নিন যে আপনি লোড করার আগে আপনার অ্যাপ্লিকেশন কোডটি অন্তর্ভুক্ত করছেন নাAngularJS

আমি এটি করছিলাম এবং একবার আমি আদেশ স্থির করলে ত্রুটিটি চলে যায়।


9

আমি ঠিক একই ত্রুটিটি পেয়েছি, আমার ক্ষেত্রে এটি দ্বিতীয় প্যারামিটারটি angular.moduleঅনুপস্থিত থাকার কারণে হয়েছিল - আশা করি এটি একই সমস্যাযুক্ত কাউকে সহায়তা করতে পারে।

angular.module('MyApp');

angular.module('MyApp', []);


1
এটি আমার সমস্যা ছিল; আমি কৌণিক.মডিউল ('আমার.নেমস্পেস', []) এর একটি ঘোষণা মিস করছি ; কৌণিক.মুডুল ('আমার.নামস্পেস')
স্কটফोस्টার1000

7
add to link
<script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.0/angular-route.min.js"></script>

var app = angular.module('apps', [ 'ngRoute' ]); 

ভুলে গেছেন যে নির্দিষ্ট নির্ভরতা ব্যবহার করার সময় আপনাকে অবশ্যই এসসিআর অন্তর্ভুক্ত করতে হবে!
কে - এসও-তে বিষক্রিয়া বাড়ছে।

6

আমার একই সমস্যা ছিল এবং সমস্ত সম্ভাব্য সমাধানের চেষ্টা করেছি। তবে শেষ পর্যন্ত ডকুমেন্টেশন থেকে জানতে পারলাম যে ngRouteমডিউলটি এখন আলাদা হয়ে গেছে। এই লিঙ্কটি দেখুন

সমাধান: CDN যুক্ত করো কৌণিক-route.js পর angular.min.js স্ক্রিপ্ট

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-route.js"></script>

5

এই ত্রুটির জন্য আর একটি ট্রিগার "ছেড়ে চলেছে"। আপনার "অন্যথায়" বা আপনার রুটের সংজ্ঞাটিতে অন্য কোনও রুটের আগে বেরিয়ে যান:

  app.config(['$routeProvider',
     function($routeProvider) {
        $routeProvider.
           when('/view1', {
              templateUrl: 'partials/view1.html',
              controller: 'Ctrl1'
           }).
           otherwise({
              redirectTo: '/viewCounts'
           });
     }]);

পুরো স্টপ দ্বারা মরিচড, আবারও। জেএসকে ভালোবাসতে হবে!


4

উত্তর নিচে ছাড়া, যদি তোমরা কনসোলে এই ত্রুটি আছে ( [$injector:nomod], MINERR_ASSET:22), কিন্তু সবকিছু কাজ জরিমানা বলে মনে হয়, আপনি যে না ডুপ্লিকেট আপনার index.html মধ্যে অন্তর্ভুক্ত করা হয়েছে।

কারণ এই ত্রুটিটিও যদি উত্থাপিত হতে পারে তবে আপনার যদি এই মডিউলটি ব্যবহার করে এমন ফাইলগুলির মধ্যে ডুপ্লিকেট অন্তর্ভুক্ত থাকে এবং প্রকৃত মডিউল ঘোষণার সাথে ফাইলের আগে অন্তর্ভুক্ত করা হয়।


3

আপনি যদি কৌণিক সরকারী টিউটোরিয়ালটি https://docs.angularjs.org/tutorial//stp_07 এ যান

দ্রষ্টব্য: AngularJS সংস্করণ 1.2 এর সাথে শুরু করে, এনজিআরউট নিজস্ব মডিউলে রয়েছে এবং অতিরিক্ত কৌণিক-রুট.জেএস ফাইলটি লোড করে লোড করা আবশ্যক, যা আমরা উপরের বোভারের মাধ্যমে ডাউনলোড করি।

এছাড়াও এনজিআরউটি এপিআই https://docs.angularjs.org/api/ngRoute থেকে নোট করুন

ইনস্টলেশনটি প্রথমে আপনার এইচটিএমএলে কৌণিক-রুট.জেগুলি অন্তর্ভুক্ত করে:

আপনি নিম্নলিখিত স্থান থেকে এই ফাইলটি ডাউনলোড করতে পারেন:

গুগল সিডিএন যেমন //ajax.googleapis.com/ajax/libs/angularjs/XYZ/angular-route.js বাওয়ার যেমন বোর ইনস্টল করুন কৌণিক-রুট @ XYZ কোড.angularjs.org যেমন "//code.angularjs.org/XYZ/ কৌণিক-রুট.জেএসস "যেখানে এক্সওয়াইজেডটি আপনি চলছে এমন কৌনিক জেএস সংস্করণ।

তারপরে আপনার অ্যাপ্লিকেশনটিতে মডিউলটিকে নির্ভরশীল মডিউল হিসাবে যুক্ত করে লোড করুন:

কৌণিক.মডিউল ('অ্যাপ', ['এনজিআরউটি']); এটি দিয়ে আপনি শুরু করতে প্রস্তুত!


2

জন পাপা এই বিষয়টি বরং অস্পষ্ট মন্তব্যটিতে আমার সমস্যাটি সরবরাহ করেছিলেন : কখনও কখনও আপনি যখন ত্রুটিটি পান তখন এর অর্থ আপনি কোনও ফাইল অনুপস্থিত। অন্য সময় এর অর্থ মডিউলটি ব্যবহারের পরে সংজ্ঞায়িত করা হয়েছিল। এটি সহজে সমাধান করার একটি উপায় হ'ল মডিউল ফাইলগুলির নাম * .মডিউল.জেএস এবং সেগুলি প্রথমে লোড করা।


0

আমার সমস্যাটি ছিল কনফিগ.এক্সএমএল-এ। পরিবর্তন করা হচ্ছে:

<access origin="*" launch-external="yes"/>

প্রতি

<access origin="*"/>

ঠিক কর.


0

এটি একটি ইনজেক্টর ত্রুটি। আপনার প্রচুর জাভাস্ক্রিপ্ট ফাইল ব্যবহার করতে পারে তাই ইনজেক্টরটি নিখোঁজ হতে পারে।

কিছু এখানে আছেন:

var app = angular.module('app', 
    ['ngSanitize', 'ui.router', 'pascalprecht.translate', 'ngResource', 
     'ngMaterial', 'angularMoment','md.data.table', 'angularFileUpload', 
     'ngMessages', 'ui.utils.masks', 'angular-sortable-view',          
     'mdPickers','ngDraggable','as.sortable', 'ngAnimate', 'ngTouch']
);

আপনার নিজের মধ্যে toোকানোর দরকার ইনজেক্টরটি পরীক্ষা করুন app.js


0

আপনি যখন প্রকল্পগুলির মধ্যে স্যুইচ করছেন এবং একের পর এক একই বন্দরে প্রকল্পগুলি পরিচালনা করছেন তখন আমি এই ত্রুটিটি দেখেছি। যে ক্ষেত্রে এতে যান ক্রোম বিকাশকারী সরঞ্জামের> নেটওয়ার্ক এবং জন্য প্রকৃত লিখিত JS ফাইলটি পরীক্ষা চেষ্টা করুন: if the file match with the workspceDisable Cacheনেটওয়ার্কের অধীনে এটি নির্বাচন করুন ।


0

অনেক মাস পরে, আমি একটি AngularJS ( 1.6.4 ) অ্যাপ্লিকেশন বিকাশ করতে ফিরে এসেছি , যার জন্য বিকাশের সময় পরীক্ষার জন্য আমি ক্রোম (পিসি) এবং সাফারি (ম্যাক) বেছে নিয়েছি। এই কোড উপস্থাপন এই ত্রুটি: $ প্রবেশক: modulerr মডিউল ত্রুটি উপর ইন্টারনেট 11.0.9600 (উইন্ডোজ 7, 32-বিট)।

তদন্তের পরে, এটি স্পষ্ট হয়ে গেছে যে ত্রুটিটি প্রতিটি লুপ ব্যবহারের কারণে ছিল , কেবলমাত্র সমস্ত ফোরইচ লুপগুলিকে স্বাভাবিক হিসাবে লুপের জন্য কাজ করার জন্য প্রতিস্থাপন করা হয়েছিল ...

এটি মূলত একটি এংুলারজেএস ইস্যু না করে আইই ১১ ইস্যু ছিল ( এখানে উত্তর দেওয়া হয়েছিল ) তবে আমি এই উত্তরটি এখানে রাখতে চাই কারণ উত্থাপিত ব্যতিক্রমটি একটি অ্যাঙ্গুলারজেএস ব্যতিক্রম ছিল। আশা করি এটি আমাদের কয়েকজনকে সেখানে সাহায্য করবে।

একভাবে। ল্যাম্বদা ফাংশন ব্যবহার করবেন না ... কেবল () => {... good ভাল অল 'ফাংশন () দিয়ে replace ...} প্রতিস্থাপন করুন


0

আমার এই সমস্যা হয়েছিল এবং আমার কোড লাইনটি লাইনে চেক করার পরে আমি এটি দেখেছি

 <textarea class="form-control" type="text" ng-model="WallDesc" placeholder="Enter Your Description"/>

আমি সবেমাত্র এটিকে পরিবর্তন করেছি

     <textarea class="form-control" type="text" ng-model="WallDesc" placeholder="Enter Your Description"></textarea>

এবং এটি কাজ করে। সুতরাং আপনার ট্যাগ চেক করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.