के लिए नोड.जेएस प्रोजेक्ट लेआउट मैं अपने पहले क्लाउड फाउंड्री प्रोजेक्ट (... और पहले नोड.जेएस प्रोजेक्ट, और पहले मोंगोडीबी प्रोजेक्ट, और पहले "एक्सप्रेस" प्रोजेक्ट इत्यादि पर काम कर रहा हूं। आदि ...)बिल्ड/टेस्ट बनाम परिनियोजन
एक दिन मैं इस सवाल का पाया, और मेरे GitHub भंडार के संगठन के लिए एक से छलांग बिंदु के रूप में इस सवाल का जवाब प्रयोग किया है:
Folder structure for a Node.js project
एक /node_modules
निर्देशिका है जो नहीं है चेक इन नहीं किया गया है। बल्कि npm install
द्वारामें विनिर्देश के आधार पर इसे स्वचालित रूप से बनाया गया हैफ़ाइल। ठीक है, अच्छा ... मैंने वह फाइल बनाई है।
(नोट: एक vmc push
के दौरान, ऐसा लगता है धक्का दिया करने के लिए सर्वर ऐसा लगता है द्वारा package.json फ़ाइल का कोई परीक्षा केवल node_modules निर्देशिका पर कॉपी करने होती है और अगर यह मौजूद नहीं है कुछ नहीं करता है।। ..इस्हें अपने क्लाइंट पर npm install
करना और फिर पुश करना आवश्यक है।)
मुझे अपने आवेदन में कुछ मूल बातें मिल रही हैं, और अब मैं उस बिंदु पर हूं जहां मैं परीक्षण करना शुरू करना चाहता हूं और निर्माण बुनियादी ढांचा। उदाहरण के लिए: मुझे एक बिल्ड प्रक्रिया चाहिए जो मेरी सभी जावास्क्रिप्ट पर लिनिंग चलाएगी। ready.js नामक एक सतत एकीकरण लाइब्रेरी है जो एक अद्यतित निर्माण उपकरण की तरह दिखती है ...
लेकिन मेरी परियोजना की निर्देशिका में होने और npm install ready.js
करने में कुछ गलत लगता है। इसका मतलब यह है कि अधिक सामग्री /node_modules
निर्देशिका में जा रही है और क्लाउड पर अपलोड करने का इरादा नहीं होने पर क्लाउड पर अपलोड की जाएगी। एक ही टोकन द्वारा: यदि मेरे पास एक निर्माण प्रक्रिया है जो संसाधनों (या जो कुछ भी) का खनन कर रही है तो मैं नहीं चाहता कि स्रोत vmc push
के साथ तैनात किया जाए।
मुझे पता है कि यह सब नया है ... लेकिन क्या लक्ष्य निर्माण निर्देशिका में लक्ष्य को डंप करने और वहां से धक्का देने के लिए एक सम्मेलन है? या क्या हर कोई प्रभावी रूप से जिथब रूट से धक्का देता है, और साथ ही सभी बिल्डों और परीक्षणों को भी धक्का देता है? कोई सुझाव का स्वागत करते हैं ... विधियों का उपयोग करना से बचने के लिए तरीकों ...
अद्यतन हैं: मैं एक्सप्रेस और Node.js (साथ ही साथ कई अन्य आम मॉड्यूल) है, जो अपनी करता है का उपयोग कर के लिए एक आवेदन बॉयलरप्लेट पाया "निर्माण प्रक्रिया" सर्वर कोड की जावास्क्रिप्ट अंदर ... के लिए बेहतर या बदतर:
https://github.com/mape/node-express-boilerplate
मैं भी इस पाया, और यह मॉड्यूल के नाम के साथ चाहें शब्द "बॉयलरप्लेट" के संयोजन की तरह लगता है संरचना में शामिल देखें, जिस तरह की चीज़ मैं ढूंढ रहा हूं उसे ढूंढने के लिए एक अच्छी खोज रणनीति है:
https://github.com/swbiggart/node-express-requirejs-backbone
देखें [जेड \ पैकेज.जेसन] (https://github.com/visionmedia/jade/blob/master/package.json) उदाहरण के लिए यह सब कैसे फिट बैठता है। –
दिलचस्प सामान जानना, और मेरे लिए नया - धन्यवाद! यह node_modules से संबंधित समस्या के एक धुरी का ख्याल रखेगा ... हालांकि ऐसा लगता है कि एक विशेष विकल्प 'एनपीएम इंस्टॉल - प्रोडक्शन' निर्देशिका से धक्का दे रहा है। उपनिर्देशिकाओं में अनावश्यक "स्रोत फाइलें" रखने का मुद्दा जो क्लाउडफाउंड्री अभी उठाता है, वैसे ही रहेंगे, इसलिए मुझे उम्मीद है कि कुछ क्लाउडफाउंड्री मुहावरे यहां भी लेने के लिए हैं ... – HostileFork
अद्यतन ... मुझे यह "तैयार" मिला। जेएस "और ऐसा लगता है कि मैं जो खोज रहा हूं, उसके साथ ही कम से कम इसे बनाए रखा जा रहा है। मुझे अभी भी यह सुनिश्चित नहीं है कि वर्कफ़्लो कैसे निकाला जाए ... यदि एनपीएम स्क्रिप्ट शामिल होनी चाहिए, या अगर मुझे '/ build' निर्देशिका' बनाने के लिए सीधे जावास्क्रिप्ट "मेकफ़ाइल" लिखना चाहिए जो मैं वास्तव में "पुशिंग" करता हूं: https : //github.com/dsimard/ready.js – HostileFork