தமிழ்

படங்கள் மற்றும் கூறுகளை லேசி லோடிங் செய்து, உலகளாவிய பார்வையாளர்களுக்காக இணையதள செயல்திறன் மற்றும் பயனர் அனுபவத்தை மேம்படுத்துவதற்கான விரிவான வழிகாட்டி.

லேசி லோடிங்: படங்கள் மற்றும் கூறுகளுடன் வலை செயல்திறனை மேம்படுத்துதல்

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

லேசி லோடிங் என்றால் என்ன?

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

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

லேசி லோடிங்கை ஏன் பயன்படுத்த வேண்டும்?

லேசி லோடிங் பல குறிப்பிடத்தக்க நன்மைகளை வழங்குகிறது:

படங்களை லேசி லோடிங் செய்தல்

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

நேட்டிவ் லேசி லோடிங்

நவீன உலாவிகள் (Chrome, Firefox, Safari, மற்றும் Edge) இப்போது loading பண்புக்கூற்றைப் பயன்படுத்தி நேட்டிவ் லேசி லோடிங்கை ஆதரிக்கின்றன. படங்களை லேசி லோடிங் செய்வதற்கான எளிய மற்றும் திறமையான வழி இதுவாகும்.

நேட்டிவ் லேசி லோடிங்கை இயக்க, உங்கள் <img> குறிச்சொல்லில் loading="lazy" பண்புக்கூற்றைச் சேர்க்கவும்:

<img src="image.jpg" alt="My Image" loading="lazy">

loading பண்புக்கூறு மூன்று மதிப்புகளைக் கொண்டிருக்கலாம்:

உதாரணம்:

<img src="london_bridge.jpg" alt="London Bridge" loading="lazy" width="600" height="400">
<img src="tokyo_skyline.jpg" alt="Tokyo Skyline" loading="lazy" width="600" height="400">
<img src="rio_de_janeiro.jpg" alt="Rio de Janeiro" loading="lazy" width="600" height="400">

இந்த எடுத்துக்காட்டில், லண்டன் பாலம், டோக்கியோ ஸ்கைலைன் மற்றும் ரியோ டி ஜெனிரோ ஆகியவற்றின் படங்கள் பயனர் அவற்றை நோக்கி ஸ்க்ரோல் செய்யும்போது மட்டுமே ஏற்றப்படும். ஒரு பயனர் பக்கத்தின் இறுதி வரை ஸ்க்ரோல் செய்யவில்லை என்றால் இது மிகவும் பயனுள்ளதாக இருக்கும்.

ஜாவாஸ்கிரிப்ட் மூலம் லேசி லோடிங்

நேட்டிவ் லேசி லோடிங்கை ஆதரிக்காத பழைய உலாவிகளுக்கு, நீங்கள் ஜாவாஸ்கிரிப்ட் லைப்ரரிகளைப் பயன்படுத்தலாம் அல்லது உங்கள் சொந்த ஸ்கிரிப்டை எழுதலாம். Intersection Observer API-ஐப் பயன்படுத்தி ஒரு அடிப்படை உதாரணம் இங்கே:

const images = document.querySelectorAll('img[data-src]');

const observer = new IntersectionObserver((entries, observer) => {
  entries.forEach(entry => {
    if (entry.isIntersecting) {
      const img = entry.target;
      img.src = img.dataset.src;
      img.removeAttribute('data-src');
      observer.unobserve(img);
    }
  });
});

images.forEach(img => {
  observer.observe(img);
});

விளக்கம்:

  1. data-src பண்புக்கூறு கொண்ட அனைத்து <img> கூறுகளையும் நாங்கள் தேர்ந்தெடுக்கிறோம்.
  2. நாங்கள் ஒரு புதிய IntersectionObserver நிகழ்வை உருவாக்குகிறோம். கவனிக்கப்பட்ட ஒரு உறுப்பு வியூபோர்ட்டில் நுழையும்போது அல்லது வெளியேறும்போது கால்பேக் செயல்பாடு செயல்படுத்தப்படுகிறது.
  3. கால்பேக் செயல்பாட்டிற்குள், நாங்கள் entries (வியூபோர்ட்டைக் கடந்த கூறுகள்) மீது சுழற்சி செய்கிறோம்.
  4. ஒரு உறுப்பு குறுக்கிட்டால் (entry.isIntersecting உண்மை), படத்தின் src பண்புக்கூற்றை data-src பண்புக்கூற்றின் மதிப்புக்கு அமைக்கிறோம்.
  5. பின்னர் நாங்கள் data-src பண்புக்கூற்றை அகற்றி, படத்தை கவனிக்காமல் விடுகிறோம், ஏனெனில் அது இனி தேவையில்லை.
  6. இறுதியாக, observer.observe(img) ஐப் பயன்படுத்தி ஒவ்வொரு படத்தையும் நாங்கள் கவனிக்கிறோம்.

HTML கட்டமைப்பு:

<img data-src="image.jpg" alt="My Image">

உண்மையான பட URL ஆனது src பண்புக்கூற்றிற்குப் பதிலாக data-src பண்புக்கூற்றில் வைக்கப்பட்டுள்ளது என்பதைக் கவனியுங்கள். இது படத்தை உடனடியாக ஏற்றுவதிலிருந்து உலாவியைத் தடுக்கிறது.

லேசி லோடிங் லைப்ரரிகளைப் பயன்படுத்துதல்

பல ஜாவாஸ்கிரிப்ட் லைப்ரரிகள் படங்களை லேசி லோடிங் செய்யும் செயல்முறையை எளிதாக்க முடியும். சில பிரபலமான விருப்பங்கள் பின்வருமாறு:

இந்த லைப்ரரிகள் பொதுவாக லேசி லோடிங்கைத் தொடங்குவதற்கான ஒரு எளிய API-ஐ வழங்குகின்றன மற்றும் ப்ளேஸ்ஹோல்டர் படங்கள் மற்றும் மாற்றம் விளைவுகள் போன்ற கூடுதல் அம்சங்களை வழங்குகின்றன.

கூறுகளை லேசி லோடிங் செய்தல்

லேசி லோடிங் படங்களுக்கு மட்டுமல்ல; இது கூறுகளுக்கும் பயன்படுத்தப்படலாம், குறிப்பாக ரியாக்ட், ஆங்குலர் மற்றும் வ்யூ போன்ற நவீன ஜாவாஸ்கிரிப்ட் கட்டமைப்புகளில். பல கூறுகளைக் கொண்ட பெரிய ஒற்றைப் பக்க பயன்பாடுகளுக்கு (SPAs) இது மிகவும் பயனுள்ளதாக இருக்கும்.

ரியாக்ட்டில் லேசி லோடிங்

ரியாக்ட் கூறுகளை லேசி லோடிங் செய்வதற்காக உள்ளமைக்கப்பட்ட React.lazy() செயல்பாட்டை வழங்குகிறது. இந்த செயல்பாடு கூறுகளை டைனமிக்காக இறக்குமதி செய்ய உங்களை அனுமதிக்கிறது, அவை பின்னர் அவை ரெண்டர் செய்யப்படும்போது மட்டுமே ஏற்றப்படுகின்றன.

import React, { Suspense } from 'react';

const MyComponent = React.lazy(() => import('./MyComponent'));

function App() {
  return (
    <Suspense fallback={<div>Loading...</div>}>
      <MyComponent />
    </Suspense>
  );
}

export default App;

விளக்கம்:

  1. MyComponent-ஐ டைனமிக்காக இறக்குமதி செய்ய React.lazy() ஐப் பயன்படுத்துகிறோம். import() செயல்பாடு ஒரு ப்ராமிஸைத் தருகிறது, அது கூறு தொகுதிக்குத் தீர்க்கிறது.
  2. MyComponent-ஐ ஒரு <Suspense> கூறில் போர்த்துகிறோம். Suspense கூறு, கூறு ஏற்றப்படும் போது ஒரு ஃபால்பேக் UI-ஐ (இந்த விஷயத்தில், "ஏற்றுகிறது...") காட்ட உங்களை அனுமதிக்கிறது.

ஆங்குலரில் லேசி லோடிங்

ஆங்குலர் ரூட்டிங் உள்ளமைவில் உள்ள loadChildren பண்பைப் பயன்படுத்தி தொகுதிகளின் லேசி லோடிங்கை ஆதரிக்கிறது.

const routes: Routes = [
  {
    path: 'my-module',
    loadChildren: () => import('./my-module/my-module.module').then(m => m.MyModuleModule)
  }
];

விளக்கம்:

  1. my-module பாதைக்கு ஒரு வழியை நாங்கள் வரையறுக்கிறோம்.
  2. MyModuleModule லேசியாக ஏற்றப்பட வேண்டும் என்பதைக் குறிப்பிட loadChildren பண்பைப் பயன்படுத்துகிறோம். import() செயல்பாடு தொகுதியை டைனமிக்காக இறக்குமதி செய்கிறது.
  3. then() முறை தொகுதியை அணுகவும் MyModuleModule வகுப்பைத் திருப்பித் தரவும் பயன்படுத்தப்படுகிறது.

Vue.js-இல் லேசி லோடிங்

Vue.js டைனமிக் இறக்குமதிகள் மற்றும் component குறிச்சொல்லைப் பயன்படுத்தி கூறுகளின் லேசி லோடிங்கை ஆதரிக்கிறது.

<template>
  <component :is="dynamicComponent"></component>
</template>

<script>
export default {
  data() {
    return {
      dynamicComponent: null
    }
  },
  mounted() {
    import('./MyComponent.vue')
      .then(module => {
        this.dynamicComponent = module.default
      })
  }
}
</script>

விளக்கம்:

  1. ஒரு கூறினை டைனமிக்காக ரெண்டர் செய்ய :is பண்புடன் <component> குறிச்சொல்லைப் பயன்படுத்துகிறோம்.
  2. mounted வாழ்க்கைச் சுழற்சி கொக்கியில், MyComponent.vue-ஐ டைனமிக்காக இறக்குமதி செய்ய import() செயல்பாட்டைப் பயன்படுத்துகிறோம்.
  3. பின்னர் நாங்கள் dynamicComponent தரவுப் பண்பை தொகுதியின் இயல்புநிலை ஏற்றுமதிக்கு அமைக்கிறோம்.

லேசி லோடிங்கிற்கான சிறந்த நடைமுறைகள்

லேசி லோடிங் திறம்பட செயல்படுத்தப்படுவதை உறுதிசெய்ய, இந்த சிறந்த நடைமுறைகளைக் கவனியுங்கள்:

சர்வதேசமயமாக்கல் பரிசீலனைகள்

உலகளாவிய பார்வையாளர்களுக்காக லேசி லோடிங்கைச் செயல்படுத்தும்போது, இந்த சர்வதேசமயமாக்கல் காரணிகளைக் கவனியுங்கள்:

முடிவுரை

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

லேசி லோடிங்கைத் தழுவி, அனைவருக்கும் வேகமான, திறமையான மற்றும் பயனர் நட்பான வலை அனுபவத்தைத் திறக்கவும்.

லேசி லோடிங்: படங்கள் மற்றும் கூறுகளுடன் வலை செயல்திறனை மேம்படுத்துதல் | MLOG