नोड्ज में `आरसी` फाइलें क्या हैं?


83

मेरे पास rcएक विशिष्ट नोड एप्लिकेशन में विभिन्न फाइलों के बारे में कुछ प्रश्न हैं , जैसे .npmrc, .babelrcआदि।

  • एक आरसी फ़ाइल क्या है, मुझे पता है कि यह मॉड्यूल के लिए रनटाइम-कॉन्फिगर है, लेकिन कुछ और?
  • क्या आरसी फ़ाइल को .[module]rcनामकरण सम्मेलन का पालन करना है या यह सिर्फ एक अनुशंसित प्रारूप है?
  • समर्थित प्रारूप क्या हैं? मैंने यम और जसन दोनों स्वरूपों को देखा है, क्या यह पाठक पर निर्भर करता है कि मॉड्यूल का उपयोग करें?
  • मॉड्यूल के दृष्टिकोण से एक आरसी फ़ाइल का उपयोग कैसे करें? क्या इसका नामकरण [module]rcकरने से यह मॉड्यूल के लिए स्वचालित रूप से उपलब्ध हो जाएगा? यदि ऐसा है तो यह कहां उपलब्ध होगा?
  • या क्या मॉड्यूल को उस एप्लिकेशन से किसी अन्य फ़ाइल की तरह ही फ़ाइल का उपयोग करना चाहिए जो मॉड्यूल का उपयोग कर रहा है और यह समझने योग्य प्रारूप में होने की उम्मीद करता है? (यह मैं अभी कर रहा हूँ, json प्रारूप के साथ)
  • मैंने लोगों package.jsonको कॉन्फिगरेशन लोड करने के लिए भी देखा है । जो अनुशंसित है, package.jsonया एक आर सी फ़ाइल?
  • इसके अलावा यह कैसे की तरह एक जावास्क्रिप्ट फ़ाइल से भिन्न क्यों है gulpfile.jsसाथ module.exports? (मैं सिफारिशों के अर्थ में था, निश्चित रूप से मैं जेएस और आरसी फाइलों के अंतर और फायदे जानता हूं)

हर बार जब मैं Google में खोज करता हूं, तो मैं यहां और यहां समाप्त होता हूं , जो कि आरसी फाइल पढ़ने का एक उपकरण है, लेकिन यह स्पष्ट नहीं करता है कि वे क्या हैं या वे कैसे निर्मित हैं और / या मॉड्यूल से जुड़े हैं।

किसी भी अंतर्दृष्टि वास्तव में उपयोगी होगा। धन्यवाद


इन फ़ाइलों के बारे में कुछ खास नहीं है, समान रणनीति का उपयोग करने के लिए विभिन्न मॉड्यूल "बस होता है"।
फेलिक्स क्लिंग

जवाबों:


56

तो सबसे पहले, अच्छी तरह से पूछा।

rcdotfiles कॉन्फ़िगरेशन फाइलें हैं जो उनके उपयोग, स्वरूपण और समग्र अर्थ में भिन्न हो सकती हैं। आप .[whatever name you like]rcजो भी पैकेज बनाने जा रहे हैं उसे सूचित करने के लिए फाइलें बना सकते हैं (बशर्ते दूसरा पैकेज उसी की तलाश में न हो)। आमतौर पर, वे किसी प्रकार के उपकरण के लिए उपयोगी होते हैं जो आपके स्रोत कोड पर कार्य करता है और आपकी परियोजना के लिए कुछ ट्यूनिंग की आवश्यकता होती है। मेरी समझ यह है कि इसी तरह की फाइलें थीं जिन्होंने पिछले वर्षों में UNIX प्रणालियों में महत्वपूर्ण भूमिका निभाई थी और विचार अटक गया है।

संक्षेप में:

  • वे नोड के लिए विशिष्ट नहीं हैं।
  • वे एक और फाइल कर रहे हैं
  • जहाँ तक प्रारूपों की बात है, वे लगभग कुछ भी हो सकते हैं - यह सिर्फ इस बात पर निर्भर करता है कि आप उन्हें पार्स करने और पढ़ने के लिए क्या उपयोग करेंगे। YAML, JSON और ini संभवतः सबसे आम हैं (कम से कम जो मैंने देखा है)।
  • ज्यादातर मामलों में वे सम्मेलन का पालन करते दिखते हैं .[program or binary name]rc
  • package.jsonफ़ाइलों में बाहरी मेटाडेटा उपयुक्त हो सकती है, यह सिर्फ इस बात पर निर्भर करता है कि आपकी परियोजना किसी .rcफ़ाइल की अपेक्षा करेगी या नहीं package.json(या दोनों, बबेल के मामले में)

यह सभी देखें:

एक अविश्वसनीय रूप से सरल उदाहरण के रूप में:

कहते हैं कि आप .foorcJSON एन्कोडिंग का उपयोग करने वाली इस फ़ाइल को पढ़ना चाहते थे :

{
  "cool": true
}

आप ऐसा कुछ कर सकते हैं:

'use strict';
const fs = require('fs');
fs.readFile('./.foorc', 'utf8', (err, data) => {
  if (err) throw new Error(err);
  console.log(JSON.parse(data));
})

ऐसा करने के लिए दूर, बेहतर तरीके हैं, लेकिन आप आसानी से या तो अपना खुद का लिख ​​सकते हैं या एक पैकेज पा सकते हैं जो कि YAML, ini, आदि को पार्स करने में मदद करेगा और एपीआई के कुछ अन्य अच्छे बिट्स भी प्रदान करेगा (उदाहरण के लिए, आरसी )


तो क्या पैकेज इसे किसी अन्य फ़ाइल की तरह एक्सेस करेगा? require('./.modulerc')?
गोपीकृष्ण एस

"पैकेज" से आपका क्या मतलब है, इस पर निर्भर करता है, लेकिन हाँ। मैं w / सरल उदाहरण को अपडेट
करूंगा

17

यह नोड या बैबेल के लिए विशिष्ट नहीं है, लेकिन *rcफाइल आमतौर पर यूनिक्स सिस्टम में विन्यास फाइल हैं

से विकिपीडिया

कॉन्फ़िगरेशन फ़ाइलें भी केवल संशोधित सेटिंग्स से अधिक होती हैं, वे अक्सर ( "आरसी फ़ाइल" के रूप में ) स्टार्टअप पर कमांड का एक सेट चलाते हैं (उदाहरण के लिए, शेल के लिए "आरसी फ़ाइल" शेल को निर्देशिकाओं को बदलने का निर्देश दे सकती है। कुछ प्रोग्राम चलाएं, फाइलें हटाएं या बनाएं - कई चीजें जो शेल में ही परिवर्तनशील चर को शामिल नहीं करती हैं और इसलिए शेल के डॉटफाइल्स में नहीं थीं)। यह सम्मेलन CTSS ऑपरेटिंग सिस्टम पर "रनकॉम फाइल्स" से उधार लिया गया है।

इस कार्यक्षमता को व्याख्या की गई भाषाओं में लिखे गए कार्यक्रमों के लिए बढ़ाया जा सकता है, जैसे कि कॉन्फ़िगरेशन फ़ाइल वास्तव में मूल प्रोग्राम को फिर से लिखना या विस्तारित या अनुकूलित करना है ; Emacs इस तरह का सबसे प्रमुख उदाहरण है।

"आर सी" नामकरण परिपाटी के "आर सी फ़ाइलें" "runcom" जैसा कि ऊपर उल्लेख सुविधा से प्रेरित था और के लिए खड़े नहीं करता है "संसाधन विन्यास" , "क्रम विन्यास" , या "रिमोट कंट्रोल" के रूप में अक्सर गलत अनुमान लगाया गया है।

"आरसी" फाइलें परंपरागत रूप से फाइलें हैं जो "(।) आरसी" प्रत्यय में समाप्त होती हैं और जिनमें डेटा और जानकारी होती है जो कि संबंधित कार्यक्रम के लिए कॉन्फ़िगरेशन जानकारी के रूप में उपयोग की जाती है। आमतौर पर उस प्रोग्राम का नाम rc फ़ाइल के नाम का पहला भाग है, जिसमें "(।) Rc" प्रत्यय का उपयोग फ़ाइल के उद्देश्य को दर्शाने के लिए किया जा रहा है, उदाहरण के लिए ".xinitrc" , ".vimrc" , ".bashrc" , "। xsane.rc "

और रनकॉम

यूनिक्स: स्टार्टअप स्क्रिप्ट / आदि / आरसी के माध्यम से सीटीएस सिस्टम 1962-63 पर रनकॉम फाइलों से

किसी एप्लिकेशन प्रोग्राम (या संपूर्ण ऑपरेटिंग सिस्टम) के लिए स्टार्टअप निर्देशों वाली स्क्रिप्ट फ़ाइल , आमतौर पर एक टेक्स्ट फाइल होती है, जिसमें सिस्टम के चलने के बाद एक प्रकार की कमांड को मैन्युअल रूप से लागू किया जाता है, लेकिन सिस्टम के शुरू होने पर स्वचालित रूप से निष्पादित किया जाता है। डॉट फ़ाइल भी देखें।

दूसरे शब्दों में, "आरसी" सिर्फ एक चीज है जो साठ के दशक में पीछे से अटक गई है, और नोड, बैबल और कई, कई अन्य सहित, विभिन्न प्रकार के कार्यक्रमों में कॉन्फ़िगरेशन फ़ाइलों के लिए अक्सर उपयोग किया जाता है।

"आरसी" फ़ाइलों के बारे में कुछ खास नहीं है , और वे वास्तव में किसी भी प्रकार का डेटा शामिल कर सकते हैं, कोई विनिर्देश या अन्य प्रतिबंध नहीं है।


हम्म .. तो यह सब पाठक पर निर्भर करता है कि वह क्या करे, क्या करना है? इसे एक्सेस करने का कोई अनुशंसित तरीका?
गोपीकृष्ण एस

@GopikrishnaS - एक "* आरसी " फ़ाइल के रूप में लगभग कुछ भी हो सकता है, जावास्क्रिप्ट, JSON, सादे पाठ, XML, YAML या जो भी हो, आप फ़ाइल को पार्स कैसे करते हैं यह पूरी तरह से उस पर निर्भर करता है।
adeneo

6

आरसी को संदर्भित करता है

  • कमांड चलाएं
  • रन-टाइम कॉन्फ़िगरेशन

https://en.wikipedia.org/wiki/Run_commands

'आरसी' प्रत्यय यूनिक्स के दादा-दादी, सीटीएस पर वापस जाता है। इसमें कमांड-स्क्रिप्ट फीचर था जिसे "रनकॉम" कहा जाता था। अर्ली यूनिक्स ने ऑपरेटिंग सिस्टम के बूट स्क्रिप्ट के नाम के लिए 'आरसी' का इस्तेमाल किया, सीटीएसएस रनकॉम को श्रद्धांजलि के रूप में।



@ आप गलत url का उल्लेख कर रहे हैं। Run_commandके बजाय Run_commands। @rselvagenesh ने सही url दिया।
बला


@ वीयू ओके मिल गया।
बाला
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.