[node.js] बोवर init - एमएमडी, es6, globals और नोड के बीच अंतर



Answers

प्रारंभिक

मैं भी पहली बार bower init का उपयोग कर रहा हूँ।

विकल्पों को कुछ जावास्क्रिप्ट कोड मॉड्यूलर करने के विभिन्न तरीकों से संदर्भित होना चाहिए:

  • amd: एएमडी define तरह, requjs की तरह।
  • नोड: Node.js का उपयोग करने की require
  • ग्लोबल्स: वैश्विक चर (जैसे window.JQuery) का पर्दाफाश करने के लिए जावास्क्रिप्ट मॉड्यूल पैटर्न का उपयोग करना।
  • es6: आने वाली EcmaScript6 मॉड्यूल सुविधा का उपयोग कर।

मेरे मामले में मैंने एक Node.js मॉड्यूल dflow लिखा है, लेकिन मैं एक dist / dflow.js फ़ाइल बनाने के लिए dflow का उपयोग कर रहा हूं जो वैश्विक dflow var निर्यात करता है: इसलिए मैंने ग्लोबल्स का चयन किया।

अन्य अपडेट

एक विंडो वैश्विक वस्तु के रूप में dflow को dflow लिए उपयोग किया गया आदेश था

browserify -s dflow -e index.js -o dist/dflow.js

मैंने इसे बदल दिया क्योंकि मैं ब्राउज़र के अंदर भी आवश्यकता का उपयोग करना पसंद करता हूं, इसलिए अब मैं इसका उपयोग कर रहा हूं

browserify -r ./index.js:dflow -o dist/dflow.js

और इसलिए मैंने bower.moduleType को मेरी bower.json फ़ाइल में नोड करने के लिए बदल दिया।

मुख्य प्रेरणा यह थी कि यदि मेरे मॉड्यूल नाम में डैश है, उदाहरण के लिए मेरा प्रोजेक्ट flow-view , मुझे flow-view में वैश्विक नाम को कम करने की आवश्यकता है।

इस नए दृष्टिकोण के दो अन्य लाभ हैं:

  1. नोड और ब्राउज़र इंटरफ़ेस समान हैं। क्लाइंट साइड और सर्वर दोनों पक्षों की आवश्यकता का उपयोग करके, मुझे केवल कोड उदाहरणों को लिखने दें, और दोनों संदर्भों पर आसानी से उनका पुन: उपयोग करें।
  2. मैं एनपीएम स्क्रिप्ट का उपयोग करता हूं और इसलिए, मैं ${npm_package_name} वैरिएबल का लाभ उठा सकता हूं और एक बार लिपि लिखने के लिए उपयोग की जाने वाली स्क्रिप्ट लिख सकता हूं।

यह एक और विषय है, लेकिन, यह वास्तव में लायक है कि आप इस बात पर विचार करते हैं कि यह बाद का लाभ कैसे उपयोगी है: मुझे npm.scripts.browserify विशेषता साझा करें जो मैं अपने npm.scripts.browserify में उपयोग करता हूं

"browserify": "browserify -r ./index.js:${npm_package_name} -o dist/${npm_package_name}.js"

Question

मैं अपना पहला बोवर घटक बना रहा हूं। bower init चलाने के बाद स्क्रिप्ट मुझसे पूछता है 'इस पैकेज का किस प्रकार के मॉड्यूल का पर्दाफाश करता है?' इन विकल्पों के साथ:

  • एएमडी
  • ES6
  • वैश्विक
  • नोड

इन विकल्पों के बीच क्या अंतर है?




Related