निर्भरता को संभालना

एक फ़ंक्शन को बाहरी Node.js मॉड्यूल के साथ-साथ स्थानीय डेटा का उपयोग करने की अनुमति है। Node.js में निर्भरता के साथ प्रबंधित कर रहे हैं NPM और एक मेटाडाटा बुलाया फ़ाइल में व्यक्त package.json । बादल कार्य Node.js runtimes आम तौर पर का उपयोग कर स्थापित करने का समर्थन NPM या धागा

अपने कार्य के लिए एक निर्भरता निर्दिष्ट करने के लिए, यह आपके लिए जोड़ package.json फ़ाइल।

इस उदाहरण में, एक निर्भरता में सूचीबद्ध है package.json फ़ाइल:

{
  "dependencies": {
    "escape-html": "^1.0.3"
  }
}

निर्भरता तब फ़ंक्शन में आयात की जाती है:

जावास्क्रिप्ट

const escapeHtml = require('escape-html');

// Return a greeting with the input HTML-escaped.
exports.hello = functions.https.onRequest((req, res) => {
  res.send(`Hello ${escapeHtml(req.query.name || req.body.name || 'World')}!`);
});

टाइपप्रति

import * as escapeHtml from 'escape-html';

// Return a greeting with the input HTML-escaped.
export let hello = functions.https.onRequest((req, res) => {
  res.send(`Hello ${escapeHtml(req.query.name || req.body.name || 'World')}!`);
}

स्थानीय Node.js मॉड्यूल सहित

आप अपने फ़ंक्शन के हिस्से के रूप में स्थानीय Node.js मॉड्यूल भी शामिल कर सकते हैं। आप में अपने मॉड्यूल की घोषणा के द्वारा इस लक्ष्य को हासिल कर सकते हैं package.json का उपयोग कर file: उपसर्ग । निम्न उदाहरण में, mymodule अपने मॉड्यूल का नाम को संदर्भित करता है और mymoduledir अपने मॉड्यूल युक्त निर्देशिका है:

{
  "dependencies": {
    "mymodule": "file:mymoduledir"
  }
}

इस स्थानीय मॉड्यूल के लिए कोड कहीं अन्य की तुलना में संग्रहित किया जाना चाहिए node_modules अपने कार्य के रूट निर्देशिका के भीतर फ़ोल्डर।

टाइपस्क्रिप्ट के लिए अतिरिक्त चरण

टाइपस्क्रिप्ट आपकी सबसे अधिक मदद करता है जब आप उन पुस्तकालयों का उपयोग करते हैं जिनमें टाइप की जानकारी होती है। यह टाइपस्क्रिप्ट को सिंटैक्स त्रुटियों को पकड़ने देता है और संपादकों को आपको बेहतर स्वत: पूर्ण सुझाव देने देता है। कुछ पुस्तकालयों, जैसे firebase-admin और firebase-functions , टाइपप्रति परिभाषा के साथ जहाज शामिल थे।

कई पुस्तकालय अपनी टाइपस्क्रिप्ट परिभाषा प्रदान नहीं करते हैं। DefinitelyTyped परियोजना सबसे लोकप्रिय नोड पुस्तकालयों के लिए समुदाय से बनाए रखा परिभाषाओं प्रदान करता है। निश्चित रूप से टाइप इन परिभाषाओं को उसी एनपीएम पैकेज नाम के तहत प्रकाशित करता है, लेकिन "@types" संगठन के अंदर। उदाहरण के लिए, आप के लिए प्रकार की जानकारी स्थापित कर सकते हैं uuid निम्नलिखित के साथ पुस्तकालय:

npm install @types/uuid

जैसे-जैसे आप टाइपस्क्रिप्ट से अधिक परिचित होते जाते हैं, आप स्वयं को दोनों इंस्टालेशन को मिलाते हुए पा सकते हैं:

npm install uuid @types/uuid

टाइप डिपेंडेंसी लाइब्रेरी डिपेंडेंसी की तरह ही होनी चाहिए। उदाहरण के लिए, आप को बचाने के लिए नहीं करना चाहिए uuid एक सामान्य निर्भरता और के रूप में @types/uuid एक देव निर्भरता या सहकर्मी निर्भरता के रूप में।

Node.js मॉड्यूल लोड हो रहा है

Node.js का उपयोग require() किसी भी Node.js मॉड्यूल स्थापित किए गए लोड करने के लिए कार्य करते हैं। तुम भी उपयोग कर सकते हैं require() स्थानीय फ़ाइलों आप अपने कार्य के साथ-साथ तैनात आयात करने के लिए कार्य करते हैं।

आप टाइपप्रति में कार्य लिख रहे हैं, तो का उपयोग import किसी भी Node.js मॉड्यूल स्थापित किए गए लोड करने के लिए एक ही तरह से बयान।

निजी मॉड्यूल का उपयोग करना

आदेश में एक का उपयोग करने के लिए निजी NPM मॉड्यूल , आप एक में NPM रजिस्ट्री के लिए क्रेडेंशियल (प्रमाणीकरण टोकन) प्रदान करनी होगी .npmrc समारोह के निर्देशिका में स्थित फ़ाइल। NPM प्रलेखन कस्टम रीड-ओनली पहुंच टोकन बनाने का तरीका बताते हैं। हम का उपयोग कर हतोत्साहित .npmrc होम निर्देशिका में बनाई गई फ़ाइल क्योंकि यह एक पढ़ने-लिखने की टोकन शामिल है। परिनियोजन के दौरान लिखने की अनुमति की आवश्यकता नहीं होती है, और इससे सुरक्षा जोखिम हो सकता है।

शामिल न करें .npmrc अगर आप निजी खजाने उपयोग नहीं कर रहे हैं, क्योंकि यह अपने कार्यों के लिए तैनाती के समय को बढ़ा सकते हैं फ़ाइल।

फाइल प्रारूप

आप एक प्रयोग कर रहे हैं .npmrc एक कस्टम प्रमाणीकरण टोकन सेट करने के लिए फ़ाइल, यह लाइन नीचे दिखाया गया है शामिल होना चाहिए। बदलें <YOUR_AUTH_TOKEN> अपने NPM-प्रदान की प्रमाणीकरण टोकन के।

//registry.npmjs.org/:_authToken=<YOUR_AUTH_TOKEN>