Documentation Index
Fetch the complete documentation index at: https://docs.mellowtel.com/llms.txt
Use this file to discover all available pages before exploring further.
इस सुविधा के लिए Mellowtel संस्करण 1.6.2 या उच्चतर की आवश्यकता है। यह पिछले संस्करणों की तुलना में एक ब्रेकिंग परिवर्तन है।
Mellowtel एक वैकल्पिक सुविधा प्रदान करता है जो आपको अधिक अनुरोधों को संभालने और इसलिए अधिक कमाई करने की अनुमति देता है। इस सुविधा को “Meucci” कहा जाता है।
स्थापना
पहले, अपने पसंदीदा पैकेज प्रबंधक का उपयोग करके आवश्यक npm पैकेज स्थापित करें:
npm का उपयोग करके
npm install @mellowtel/module-meucci
yarn का उपयोग करके
yarn add @mellowtel/module-meucci
pnpm का उपयोग करके
pnpm add @mellowtel/module-meucci
नीचे आपके ब्राउज़र प्लगइन में Meucci सुविधा को सक्षम करने के निर्देश दिए गए हैं, जिसमें मानक और Plasmo फ्रेमवर्क कार्यान्वयन दोनों के विकल्प शामिल हैं।
मानक कार्यान्वयन
1. meucci.js नामक एक JavaScript फ़ाइल बनाएं
src निर्देशिका में, या जहां भी आपके js फाइलें हैं, meucci.js नामक एक फ़ाइल बनाएं और निम्नलिखित कोड जोड़ें। सुनिश्चित करें कि यह फ़ाइल आपके अंतिम बिल्ड (/dist) निर्देशिका में शामिल हो।
यदि आपने प्रारंभिक webpack कॉन्फ़िग सेटअप का पालन किया है, तो आप बस इस फ़ाइल को अपने webpack कॉन्फ़िग के entry ऑब्जेक्ट में जोड़ सकते हैं।
import ModuleMeucci from "@mellowtel/module-meucci";
let moduleMeucci;
(async () => {
moduleMeucci = new ModuleMeucci();
await moduleMeucci.init();
})();
2. अपने webpack कॉन्फ़िग को अपडेट करें
सुनिश्चित करें कि आपकी अंतिम बिल्ड निर्देशिका में meucci.js फ़ाइल शामिल है।
यदि आपने प्रारंभिक webpack कॉन्फ़िग सेटअप का पालन किया है, तो आप बस इस फ़ाइल को अपने webpack कॉन्फ़िग के entry ऑब्जेक्ट में जोड़ सकते हैं।
module.exports = {
// ...
entry: {
// background: path.join(__dirname, 'src', 'background.js'),
// popup: path.join(__dirname, 'src', 'popup.js'),
// content_script: path.join(__dirname, 'src', 'content_script.js'), ...
// pascoli: path.join(__dirname, 'src', 'pascoli.js'),
meucci: path.join(__dirname, 'src', 'meucci.js'),
// ...
},
// ...
}
3. manifest.json को अपडेट करें
अपने manifest.json में meucci.js फ़ाइल को web_accessible_resources के रूप में जोड़ें:
{
"web_accessible_resources": [
{
"resources": [
"meucci.js"
],
"matches": [ "<all_urls>" ]
}
]
}
Plasmo फ्रेमवर्क कार्यान्वयन
यदि आप Plasmo फ्रेमवर्क का उपयोग कर रहे हैं, तो इन वैकल्पिक चरणों का पालन करें:
1. meucci.ts नामक एक TypeScript फ़ाइल बनाएं
src निर्देशिका में, या जहां भी आपके ts फाइलें हैं, meucci.ts नामक एक फ़ाइल बनाएं और निम्नलिखित कोड जोड़ें:
import ModuleMeucci from "@mellowtel/module-meucci";
let moduleMeucci;
(async () => {
moduleMeucci = new ModuleMeucci();
await moduleMeucci.init();
})();
2. बिल्ड स्क्रिप्ट बनाएं
अपने प्रोजेक्ट रूट में build-meucci.js फ़ाइल बनाएँ और निम्नलिखित सामग्री जोड़ें:
const esbuild = require('esbuild')
const fs = require('fs')
const path = require('path')
// किसी निर्देशिका के अस्तित्व की प्रतीक्षा करने के लिए फ़ंक्शन
const waitForDirectory = async (dir, timeout = 10000) => {
const start = Date.now()
while (!fs.existsSync(dir)) {
if (Date.now() - start > timeout) {
throw new Error(`Timeout waiting for directory: ${dir}`)
}
await new Promise(resolve => setTimeout(resolve, 100))
}
}
// बिल्ड फ़ंक्शन बनाएं
async function buildMeucci() {
// बंडल बनाएं
await esbuild.build({
entryPoints: ['src/meucci.ts'], // TODO: अपने meucci.ts फ़ाइल के पथ के साथ REPLACE करें
bundle: true,
outfile: 'meucci.bundled.js',
platform: 'browser',
format: 'iife',
minify: true,
target: ['es2020'],
define: {
'process.env.NODE_ENV': '"production"'
}
})
// बंडल की गई फ़ाइल पढ़ें
const bundledContent = fs.readFileSync('meucci.bundled.js', 'utf8')
// dev और prod निर्देशिकाओं में कॉपी करें
const directories = [
'build/chrome-mv3-dev',
'build/chrome-mv3-prod',
'build/firefox-mv2-dev',
'build/firefox-mv2-prod',
'build/safari-mv2-dev',
'build/safari-mv2-prod',
'build/opera-mv3-dev',
'build/opera-mv3-prod'
] // TODO: अपने dev और prod निर्देशिकाओं के पथ के साथ REPLACE करें
// सभी निर्देशिकाओं को एक साथ संसाधित करें
await Promise.all(directories.map(async (dir) => {
try {
console.log(`Waiting for directory: ${dir}`)
await waitForDirectory(dir)
// बंडल की गई फ़ाइल लिखें
fs.writeFileSync(path.join(dir, 'meucci.js'), bundledContent)
console.log(`Added meucci.js to ${dir}`)
} catch (err) {
console.log(`Skipping ${dir} - ${err.message}`)
}
}))
// अस्थायी फ़ाइल को साफ करें
fs.unlinkSync('meucci.bundled.js')
}
buildMeucci().catch(err => {
console.error(err)
process.exit(1)
})
3. package.json को अपडेट करें
अपने package.json फ़ाइल में निम्नलिखित जोड़ें:
{
"scripts": {
"build:meucci": "node build-meucci.js"
},
"web_accessible_resources": [
{
"resources": [
"meucci.js"
],
"matches": [ "<all_urls>" ]
}
]
}
आप या तो:
- अपने मुख्य बिल्ड के बाद मैन्युअल रूप से बिल्ड स्क्रिप्ट चलाएं:
npm run build:meucci
- या इसे अपने मौजूदा बिल्ड स्क्रिप्ट में
& के साथ जोड़ें: "build": "your-existing-build-command & npm run build:meucci"
यह सुनिश्चित करेगा कि Meucci फ़ाइल को सही Plasmo संरचना में सभी बिल्ड निर्देशिकाओं में सही ढंग से बंडल और कॉपी किया गया है।
initContentScript को अपडेट करें
दोनों कार्यान्वयनों के लिए, अपने content script में initContentScript विधि को Meucci फ़ाइल के सही पथ को शामिल करने के लिए संशोधित करें:
// मानक कार्यान्वयन के लिए
await initContentScript({
meucciFilePath: "meucci.js"
});
Plasmo फ्रेमवर्क के लिए, आप निम्नलिखित का उपयोग कर सकते हैं:
// Plasmo फ्रेमवर्क के लिए
await initContentScript({
meucciFilePath: "meucci.js"
});
यदि आपके पास Pascoli भी सक्षम है, तो आप निम्नलिखित का उपयोग कर सकते हैं:
await initContentScript({
pascoliFilePath: "pascoli.html", // या "tabs/pascoli.html" यदि Plasmo फ्रेमवर्क का उपयोग कर रहे हैं
meucciFilePath: "meucci.js"
});