मैं अपने कोणीय ऐप के लिए .js
फ़ाइलों को जोड़ने के लिए गड़बड़ी का उपयोग कर रहा हूं।एंगुलरजेएस: फाइल कॉन्सटेनेशन ब्रेक मॉड्यूल घोषणा ऑर्डर
मैंने अभी here पर चर्चा की गई सम्मेलनों का पालन करने के लिए कोडबेस को पार कर लिया है, विशेष रूप से, मेरे कोड को छोटे मॉड्यूल में जोड़कर सुविधाओं का प्रतिनिधित्व करते हैं।
हालांकि, मुझे लगता है कि यदि एक मॉड्यूल घोषित होने से पहले उपभोग किया जाता है, तो मुझे लगता है कि कॉन्सटेनेशन का क्रम ऐप तोड़ने लगता है।
जैसे:
|-- src/
| |-- app/
| | |-- userProfile/
| | | | userProfile.js
| | | |-- deposits/
| | | | |-- depositFormCtrl.js
कहाँ:
// userProfile.js
var userProfile = angular.module('userProfile',[])
// depositFormCtrl.js
angular.module('userProfile')
.controller('DepositFormCtrl', function($scope) {...});
जब घुरघुराना संयोजन करता है, depositFormCtrl.js
userProfile.js
से पहले प्रकट होता है। यह एक त्रुटि फेंक करने के लिए एप्लिकेशन का कारण बनता है, शिकायत:
Uncaught Error: No module: userProfile
मैं RequireJS का उपयोग कर की संभावनाओं के बारे में बात की बहुत सारी देखने/AMD मॉड्यूल के लोड आदेश का प्रबंधन करने के। हालांकि, अक्सर यह कहा गया है कि यह ओवरकिल/आवश्यक नहीं है, as Angular handles this for you।
उदा: कोणीय टीम mentioned के ब्रायन फोर्ड:
My personal take is that RequireJS does too much; the only feature that AngularJS's DI system is really missing is the async loading.
उन्होंने यह भी elsewhere कि वह कोणीय साथ RequireJS की सिफारिश नहीं करता कहा है।
मैंने का उपयोग करने के लिए भी उल्लेख किया है, जैसा कि seed project पर दिखाया गया है। हालांकि, जैसा कि मैं इसे समझता हूं, (वहां थोड़ा आधिकारिक दस्तावेज है) लोडर का उद्देश्य मॉड्यूल को ऑर्डर से बाहर करने की समस्या को हल करना है, बजाय इस्तेमाल किए जाने से पहले संदर्भित किया जा रहा है।
मेरे प्रोजेक्ट में कोणीय-लोडर.जेएस जोड़ना इस मुद्दे को हल नहीं करता है।
क्या कोई घोषणा है जिसका उपयोग मुझे करना चाहिए जो मेरी त्रुटियों को रोकता है?
मॉड्यूल & नियंत्रकों को घोषित करने का सही तरीका क्या है, ताकि ऑर्डर फाइलों को संयोजित किया जा सके, रनटाइम पर कोड को प्रभावित नहीं करता है?
यही कारण है कि मैं कोणीय साथ RequireJS की सिफारिश करते हैं। RequireJS आप काफी आसानी से अपने सभी लिपियों के भार के क्रम को परिभाषित के हैं, और की तुलना में, जब उत्पादन के लिए की तैनाती, आप r.js (RequireJS अनुकूलक), जो आपके लोड क्रम परिभाषा फ़ाइल का पालन करें और फ़ाइलों को श्रेणीबद्ध कर सकते हैं वास्तव में क्रम में उपयोग, जिसमें आप इसे करने के लिए निर्देश देते हैं। मैं अपनी परियोजनाओं पर यही कर रहा हूं और यह पूरी तरह से काम करता है। – Stewie
मैं अगर यह आपकी समस्या है (यह मेरा किया) ठीक करता है पता नहीं है। लेकिन मैं तो मैं 'घुरघुराना-योगदान-concat' – chovy