தமிழ்

Vite-ன் plugin கட்டமைப்பை ஆராய்ந்து, உங்கள் மேம்பாட்டுப் பணிகளை மேம்படுத்த தனிப்பயன் plugin-களை உருவாக்கக் கற்றுக்கொள்ளுங்கள். உலகளாவிய பார்வையாளர்களுக்காக நடைமுறை எடுத்துக்காட்டுகளுடன் முக்கிய கருத்துக்களை மாஸ்டர் செய்யுங்கள்.

Vite Plugin கட்டமைப்பை எளிதாக்குதல்: தனிப்பயன் Plugin உருவாக்குவதற்கான ஒரு உலகளாவிய வழிகாட்டி

Vite, மின்னல் வேகமான build tool, frontend மேம்பாட்டில் ஒரு புரட்சியை ஏற்படுத்தியுள்ளது. அதன் வேகம் மற்றும் எளிமை பெரும்பாலும் அதன் சக்திவாய்ந்த plugin கட்டமைப்பின் காரணமாகும். இந்த கட்டமைப்பு டெவலப்பர்கள் Vite-ன் செயல்பாட்டை விரிவுபடுத்தவும், தங்கள் குறிப்பிட்ட திட்டத் தேவைகளுக்கு ஏற்ப அதை மாற்றியமைக்கவும் அனுமதிக்கிறது. இந்த வழிகாட்டி Vite-ன் plugin அமைப்பின் ஒரு விரிவான ஆய்வை வழங்குகிறது, இது உங்கள் சொந்த தனிப்பயன் plugin-களை உருவாக்கவும், உங்கள் மேம்பாட்டுப் பணிப்பாய்வை மேம்படுத்தவும் உங்களுக்கு அதிகாரம் அளிக்கிறது.

Vite-ன் அடிப்படைக் கொள்கைகளைப் புரிந்துகொள்ளுதல்

plugin உருவாக்கத்தில் இறங்குவதற்கு முன், Vite-ன் அடிப்படைக் கொள்கைகளைப் புரிந்துகொள்வது அவசியம்:

Vite-ன் Ecosystem-ல் Plugin-களின் பங்கு

Vite-ன் plugin கட்டமைப்பு மிகவும் விரிவாக்கக்கூடிய வகையில் வடிவமைக்கப்பட்டுள்ளது. Plugin-கள் செய்யக்கூடியவை:

எளிய மாற்றங்கள் முதல் சிக்கலான ஒருங்கிணைப்புகள் வரை, பல்வேறு திட்டத் தேவைகளுக்கு Vite-ஐ மாற்றியமைப்பதற்கான திறவுகோல் Plugin-கள்தான்.

Vite Plugin கட்டமைப்பு: ஒரு ஆழமான பார்வை

ஒரு Vite plugin என்பது அடிப்படையில் அதன் நடத்தையை வரையறுக்கும் குறிப்பிட்ட பண்புகளைக் கொண்ட ஒரு JavaScript பொருளாகும். முக்கிய கூறுகளை ஆராய்வோம்:

Plugin கட்டமைப்பு

`vite.config.js` (அல்லது `vite.config.ts`) கோப்பில் தான் உங்கள் Vite திட்டத்தை உள்ளமைப்பீர்கள், எந்தெந்த plugin-களைப் பயன்படுத்த வேண்டும் என்பதையும் குறிப்பிடுவீர்கள். `plugins` விருப்பம் plugin பொருள்கள் அல்லது plugin பொருள்களை வழங்கும் செயல்பாடுகளின் வரிசையை ஏற்றுக்கொள்கிறது.

// vite.config.js
import myPlugin from './my-plugin';

export default {
  plugins: [
    myPlugin(), // ஒரு plugin நிகழ்வை உருவாக்க plugin செயல்பாட்டை அழைக்கவும்
  ],
};

Plugin பொருளின் பண்புகள்

ஒரு Vite plugin பொருளுக்கு பல பண்புகள் இருக்கலாம், அவை பில்ட் செயல்முறையின் வெவ்வேறு கட்டங்களில் அதன் நடத்தையை வரையறுக்கின்றன. மிகவும் பொதுவான பண்புகளின் ஒரு முறிவு இங்கே:

Plugin Hooks மற்றும் செயல்படுத்தும் வரிசை

Vite plugin-கள் பில்ட் செயல்முறையின் வெவ்வேறு கட்டங்களில் தூண்டப்படும் தொடர்ச்சியான hooks மூலம் செயல்படுகின்றன. இந்த hooks எந்த வரிசையில் செயல்படுத்தப்படுகின்றன என்பதைப் புரிந்துகொள்வது பயனுள்ள plugin-களை எழுதுவதற்கு முக்கியமானது.

  1. config: Vite உள்ளமைவை மாற்றவும்.
  2. configResolved: தீர்க்கப்பட்ட உள்ளமைவை அணுகவும்.
  3. configureServer: dev சேவையகத்தை மாற்றவும் (மேம்பாட்டிற்கு மட்டும்).
  4. transformIndexHtml: `index.html` கோப்பை மாற்றவும்.
  5. buildStart: பில்ட் செயல்முறையின் தொடக்கம்.
  6. resolveId: தொகுதி ID-களைத் தீர்க்கவும்.
  7. load: தொகுதி உள்ளடக்கத்தை ஏற்றவும்.
  8. transform: தொகுதி குறியீட்டை மாற்றவும்.
  9. handleHotUpdate: Hot Module Replacement (HMR) ஐக் கையாளவும்.
  10. writeBundle: வட்டில் எழுதுவதற்கு முன் வெளியீட்டு bundle-ஐ மாற்றவும்.
  11. closeBundle: வெளியீட்டு bundle வட்டில் எழுதப்பட்ட பிறகு அழைக்கப்படுகிறது.
  12. buildEnd: பில்ட் செயல்முறையின் முடிவு.

உங்கள் முதல் தனிப்பயன் Vite Plugin-ஐ உருவாக்குதல்

உற்பத்தி பில்டில் உள்ள ஒவ்வொரு JavaScript கோப்பின் மேலேயும் ஒரு பேனரைச் சேர்க்கும் ஒரு எளிய Vite plugin-ஐ உருவாக்குவோம். இந்த பேனரில் திட்டத்தின் பெயர் மற்றும் பதிப்பு ஆகியவை அடங்கும்.

Plugin செயல்படுத்தல்

// banner-plugin.js
import { readFileSync } from 'node:fs';
import { resolve } from 'node:path';

export default function bannerPlugin() {
  return {
    name: 'banner-plugin',
    apply: 'build',
    transform(code, id) {
      if (!id.endsWith('.js')) {
        return code;
      }

      const packageJsonPath = resolve(process.cwd(), 'package.json');
      const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
      const banner = `/**\n * Project: ${packageJson.name}\n * Version: ${packageJson.version}\n */\n`;

      return banner + code;
    },
  };
}

விளக்கம்:

Plugin-ஐ ஒருங்கிணைத்தல்

உங்கள் `vite.config.js` கோப்பில் plugin-ஐ இறக்குமதி செய்து `plugins` வரிசையில் சேர்க்கவும்:

// vite.config.js
import bannerPlugin from './banner-plugin';

export default {
  plugins: [
    bannerPlugin(),
  ],
};

பில்டை இயக்குதல்

இப்போது, `npm run build` (அல்லது உங்கள் திட்டத்தின் பில்ட் கட்டளை) ஐ இயக்கவும். பில்ட் முடிந்ததும், `dist` கோப்பகத்தில் உருவாக்கப்பட்ட JavaScript கோப்புகளை ஆய்வு செய்யவும். ஒவ்வொரு கோப்பின் ಮೇலேயும் பேனரைக் காண்பீர்கள்.

மேம்பட்ட Plugin நுட்பங்கள்

எளிய குறியீடு மாற்றங்களுக்கு அப்பால், Vite plugin-கள் தங்கள் திறன்களை மேம்படுத்த மேலும் மேம்பட்ட நுட்பங்களைப் பயன்படுத்தலாம்.

மெய்நிகர் தொகுதிகள் (Virtual Modules)

மெய்நிகர் தொகுதிகள், plugin-கள் வட்டில் உண்மையான கோப்புகளாக இல்லாத தொகுதிகளை உருவாக்க அனுமதிக்கின்றன. இது மாறும் உள்ளடக்கத்தை உருவாக்க அல்லது பயன்பாட்டிற்கு உள்ளமைவுத் தரவை வழங்குவதற்குப் பயன்படும்.

// virtual-module-plugin.js
export default function virtualModulePlugin(options) {
  const virtualModuleId = 'virtual:my-module';
  const resolvedVirtualModuleId = '\0' + virtualModuleId; // Rollup இதைச் செயலாக்குவதைத் தடுக்க \0 உடன் முன்னொட்டுச் சேர்க்கவும்

  return {
    name: 'virtual-module-plugin',
    resolveId(id) {
      if (id === virtualModuleId) {
        return resolvedVirtualModuleId;
      }
    },
    load(id) {
      if (id === resolvedVirtualModuleId) {
        return `export default ${JSON.stringify(options)};`;
      }
    },
  };
}

இந்த எடுத்துக்காட்டில்:

மெய்நிகர் தொகுதியைப் பயன்படுத்துதல்

// vite.config.js
import virtualModulePlugin from './virtual-module-plugin';

export default {
  plugins: [
    virtualModulePlugin({ message: 'Hello from virtual module!' }),
  ],
};
// main.js
import message from 'virtual:my-module';

console.log(message.message); // வெளியீடு: Hello from virtual module!

Index HTML-ஐ மாற்றுதல்

`transformIndexHtml` hook, `index.html` கோப்பை மாற்றியமைக்க உங்களை அனுமதிக்கிறது, அதாவது ஸ்கிரிப்டுகள், ஸ்டைல்கள் அல்லது மெட்டா குறிச்சொற்களைச் செருகுவது போன்றவை. இது பகுப்பாய்வு கண்காணிப்பைச் சேர்ப்பதற்கும், சமூக ஊடக மெட்டாடேட்டாவை உள்ளமைப்பதற்கும் அல்லது HTML கட்டமைப்பைத் தனிப்பயனாக்குவதற்கும் பயனுள்ளதாக இருக்கும்.

// inject-script-plugin.js
export default function injectScriptPlugin() {
  return {
    name: 'inject-script-plugin',
    transformIndexHtml(html) {
      return html.replace(
        '',
        ``
      );
    },
  };
}

இந்த plugin `index.html` கோப்பில் மூடும் `` குறிச்சொல்லுக்கு சற்று முன்பு ஒரு `console.log` அறிக்கையைச் செருகுகிறது.

மேம்பாட்டு சேவையகத்துடன் பணிபுரிதல்

`configureServer` hook மேம்பாட்டு சேவையக நிகழ்வுக்கான அணுகலை வழங்குகிறது, இது தனிப்பயன் middleware சேர்ப்பதற்கும், சேவையகத்தின் நடத்தையை மாற்றுவதற்கும் அல்லது API கோரிக்கைகளைக் கையாளுவதற்கும் உங்களை அனுமதிக்கிறது.

// mock-api-plugin.js
export default function mockApiPlugin() {
  return {
    name: 'mock-api-plugin',
    configureServer(server) {
      server.middlewares.use('/api/data', (req, res) => {
        res.writeHead(200, { 'Content-Type': 'application/json' });
        res.end(JSON.stringify({ message: 'Hello from mock API!' }));
      });
    },
  };
}

இந்த plugin `/api/data` க்கான கோரிக்கைகளைக் குறுக்கிட்டு, ஒரு மாதிரிச் செய்தியுடன் கூடிய JSON பதிலை வழங்கும் ஒரு middleware-ஐச் சேர்க்கிறது. பின்தளம் முழுமையாகச் செயல்படுத்தப்படுவதற்கு முன்பு, மேம்பாட்டின் போது API முனைகளை உருவகப்படுத்துவதற்கு இது பயனுள்ளதாக இருக்கும். இந்த plugin மேம்பாட்டின் போது மட்டுமே இயங்கும் என்பதை நினைவில் கொள்ளுங்கள்.

நிஜ உலக Plugin எடுத்துக்காட்டுகள் மற்றும் பயன்பாட்டு வழக்குகள்

பொதுவான மேம்பாட்டு சவால்களைத் தீர்க்க Vite plugin-கள் எவ்வாறு பயன்படுத்தப்படலாம் என்பதற்கான சில நடைமுறை எடுத்துக்காட்டுகள் இங்கே:

Vite Plugin-களை எழுதுவதற்கான சிறந்த நடைமுறைகள்

வலுவான மற்றும் பராமரிக்கக்கூடிய Vite plugin-களை உருவாக்க இந்த சிறந்த நடைமுறைகளைப் பின்பற்றவும்:

Vite Plugin-களை பிழைத்திருத்தம் செய்தல்

Vite plugin-களை பிழைத்திருத்தம் செய்வது சவாலானதாக இருக்கலாம், ஆனால் உதவக்கூடிய பல நுட்பங்கள் உள்ளன:

முடிவுரை: Vite Plugin-கள் மூலம் உங்கள் மேம்பாட்டை மேம்படுத்துதல்

Vite-ன் plugin கட்டமைப்பு ஒரு சக்திவாய்ந்த கருவியாகும், இது உங்கள் குறிப்பிட்ட தேவைகளைப் பூர்த்தி செய்ய பில்ட் செயல்முறையைத் தனிப்பயனாக்கவும் விரிவுபடுத்தவும் உங்களை அனுமதிக்கிறது. அடிப்படைக் கருத்துக்களைப் புரிந்துகொண்டு சிறந்த நடைமுறைகளைப் பின்பற்றுவதன் மூலம், உங்கள் மேம்பாட்டுப் பணிப்பாய்வை மேம்படுத்தவும், உங்கள் பயன்பாட்டின் அம்சங்களை மேம்படுத்தவும், அதன் செயல்திறனை மேம்படுத்தவும் உதவும் தனிப்பயன் plugin-களை நீங்கள் உருவாக்கலாம்.

இந்த வழிகாட்டி Vite-ன் plugin அமைப்பின் ஒரு விரிவான கண்ணோட்டத்தை வழங்கியுள்ளது, அடிப்படைக் கருத்துக்கள் முதல் மேம்பட்ட நுட்பங்கள் வரை. உங்கள் சொந்த plugin-களை உருவாக்குவதன் மூலம் பரிசோதனை செய்ய உங்களை ஊக்குவிக்கிறோம் மற்றும் Vite-ன் ecosystem-ன் பரந்த சாத்தியக்கூறுகளை ஆராயுங்கள். plugin-களின் சக்தியைப் பயன்படுத்துவதன் மூலம், நீங்கள் Vite-ன் முழுத் திறனையும் திறந்து, அற்புதமான வலைப் பயன்பாடுகளை உருவாக்க முடியும்.

Vite Plugin கட்டமைப்பை எளிதாக்குதல்: தனிப்பயன் Plugin உருவாக்குவதற்கான ஒரு உலகளாவிய வழிகாட்டி | MLOG