आप एक बड़े और स्केलेबल AngularJS एप्लिकेशन के लिए एक फ़ोल्डर संरचना कैसे लेआउट करते हैं?
आप एक बड़े और स्केलेबल AngularJS एप्लिकेशन के लिए एक फ़ोल्डर संरचना कैसे लेआउट करते हैं?
जवाबों:
बाईं ओर हमारे पास प्रकार के अनुसार ऐप है। छोटे ऐप्स के लिए बहुत बुरा नहीं है, लेकिन यहां तक कि आप यह देखना शुरू कर सकते हैं कि जो आप ढूंढ रहे हैं उसे ढूंढना अधिक कठिन हो जाता है। जब मैं एक विशिष्ट दृश्य और उसके नियंत्रक को खोजना चाहता हूं, तो वे अलग-अलग फ़ोल्डर में होते हैं। यहां शुरू करना अच्छा हो सकता है यदि आप सुनिश्चित नहीं हैं कि कोड को कैसे व्यवस्थित किया जाए क्योंकि तकनीक को दाईं ओर स्थानांतरित करना काफी आसान है: सुविधा द्वारा संरचना।
दाईं ओर प्रोजेक्ट फीचर द्वारा आयोजित किया गया है। लेआउट के सभी दृश्य और नियंत्रक लेआउट फ़ोल्डर में जाते हैं, व्यवस्थापक सामग्री व्यवस्थापक फ़ोल्डर में जाती है, और सभी क्षेत्रों द्वारा उपयोग की जाने वाली सेवाएँ सेवाओं के फ़ोल्डर में जाती हैं। यहां विचार यह है कि जब आप उस कोड की तलाश कर रहे हैं जो एक फीचर काम करता है, तो यह एक ही स्थान पर स्थित है। कई सुविधाओं के रूप में वे "सेवा" के रूप में सेवाएं थोड़ी भिन्न होती हैं। मुझे यह पसंद है कि एक बार मेरा ऐप आकार लेना शुरू कर दे क्योंकि मेरे लिए इसे प्रबंधित करना बहुत आसान हो जाता है।
एक अच्छी तरह से लिखा ब्लॉग पोस्ट: http://www.johnpapa.net/angular-growth-structure/
उदाहरण ऐप: https://github.com/angular-app/angular-app
कुछ अनुप्रयोगों के निर्माण के बाद, कुछ में सिम्फनी-पीएचपी, कुछ .NET एमवीसी, कुछ आरओआर, मैंने पाया है कि मेरे लिए सबसे अच्छा तरीका एंगुलरजेएस जनरेटर के साथ येओमन.आईओ का उपयोग करना है ।
यह सबसे लोकप्रिय और आम संरचना है और सबसे अच्छी तरह से बनाए रखा है।
और सबसे महत्वपूर्ण बात, उस संरचना को रखकर, यह आपके क्लाइंट साइड कोड को अलग करने और सर्वर-साइड तकनीक (सभी प्रकार के अलग-अलग फ़ोल्डर संरचनाओं और अलग-अलग सर्वर-साइड टेंपलेटिंग इंजनों) को अज्ञेय बनाने में आपकी मदद करता है।
इस तरह से आप आसानी से अपना और दूसरों का कोड डुप्लिकेट और पुन: उपयोग कर सकते हैं।
यहाँ यह ग्रन्ट बिल्ड से पहले है: (लेकिन तुर्क जनरेटर का उपयोग करें, बस इसे न बनाएं!)
/app
/scripts
/controllers
/directives
/services
/filters
app.js
/views
/styles
/img
/bower_components
index.html
bower.json
और ग्रंट बिल्ड के बाद (कंकट, कुसुइल, रेव, आदि ...):
/scripts
scripts.min.js (all JS concatenated, minified and grunt-rev)
vendor.min.js (all bower components concatenated, minified and grunt-rev)
/views
/styles
mergedAndMinified.css (grunt-cssmin)
/images
index.html (grunt-htmlmin)
angular.module('myApp').config(function($routeProvider) { ... });
मुझे कोणीय संरचना के बारे में यह प्रविष्टि पसंद है
यह एक कोणीयज डेवलपर्स द्वारा लिखा गया है, इसलिए आपको एक अच्छी जानकारी देनी चाहिए
यहाँ एक अंश है:
root-app-folder
├── index.html
├── scripts
│ ├── controllers
│ │ └── main.js
│ │ └── ...
│ ├── directives
│ │ └── myDirective.js
│ │ └── ...
│ ├── filters
│ │ └── myFilter.js
│ │ └── ...
│ ├── services
│ │ └── myService.js
│ │ └── ...
│ ├── vendor
│ │ ├── angular.js
│ │ ├── angular.min.js
│ │ ├── es5-shim.min.js
│ │ └── json3.min.js
│ └── app.js
├── styles
│ └── ...
└── views
├── main.html
└── ...
फोल्डर को व्यवस्थित करने का तरीका भी ढांचा की संरचना से नहीं, बल्कि अनुप्रयोग के कार्य की संरचना से है। एक जीथब स्टार्टर एंगुलर / एक्सप्रेस एप्लिकेशन है जो इसे कोणीय-ऐप कहा जाता है ।
मैं अपने तीसरे एंगुलरज एप्लिकेशन पर हूं और फ़ोल्डर संरचना में अब तक हर बार सुधार हुआ है। मैं अभी अपने को सरल रखता हूं।
index.html (or .php)
/resources
/css
/fonts
/images
/js
/controllers
/directives
/filters
/services
/partials (views)
मुझे लगता है कि सिंगल ऐप्स के लिए अच्छा है। मेरे पास वास्तव में एक परियोजना नहीं है, जहां मुझे कई की आवश्यकता होगी।