செயல்திறன் மற்றும் பயனர் அனுபவத்தை மேம்படுத்த, ரூட்-பேஸ்டு மற்றும் கம்போனென்ட்-பேஸ்டு அணுகுமுறைகள் உட்பட மேம்பட்ட ஜாவாஸ்கிரிப்ட் கோட் ஸ்ப்ளிட்டிங் நுட்பங்களில் தேர்ச்சி பெறுங்கள்.
ஜாவாஸ்கிரிப்ட் கோட் ஸ்ப்ளிட்டிங் அட்வான்ஸ்டு: ரூட்-பேஸ்டு vs. கம்போனென்ட்-பேஸ்டு
நவீன வலை மேம்பாட்டு உலகில், வேகமான மற்றும் பதிலளிக்கக்கூடிய பயனர் அனுபவத்தை வழங்குவது மிக முக்கியமானது. இதை அடைவதற்கான ஒரு சக்திவாய்ந்த நுட்பம் கோட் ஸ்ப்ளிட்டிங் ஆகும். கோட் ஸ்ப்ளிட்டிங் உங்கள் ஜாவாஸ்கிரிப்ட் பயன்பாட்டை சிறிய பகுதிகளாக உடைக்க அனுமதிக்கிறது, தற்போதைய பக்கம் அல்லது கூறுகளுக்குத் தேவையான குறியீட்டை மட்டும் ஏற்றுகிறது. இது ஆரம்ப ஏற்றுதல் நேரத்தைக் குறைக்கிறது, செயல்திறனை மேம்படுத்துகிறது, மற்றும் ஒட்டுமொத்த பயனர் அனுபவத்தை மேம்படுத்துகிறது.
இந்தக் கட்டுரை மேம்பட்ட கோட் ஸ்ப்ளிட்டிங் உத்திகளை, குறிப்பாக ரூட்-பேஸ்டு மற்றும் கம்போனென்ட்-பேஸ்டு அணுகுமுறைகளில் கவனம் செலுத்துகிறது. அவற்றின் நன்மைகள், தீமைகள், மற்றும் ரியாக்ட், ஆங்குலர், மற்றும் வ்யூ.js போன்ற பிரபலமான ஜாவாஸ்கிரிப்ட் கட்டமைப்புகளில் அவற்றை எவ்வாறு திறம்பட செயல்படுத்துவது என்பதை ஆராய்வோம். உலகளாவிய பார்வையாளர்களுக்கான பரிசீலனைகளையும் நாங்கள் ஆராய்வோம், இருப்பிடத்தைப் பொருட்படுத்தாமல் அணுகல்தன்மை மற்றும் உகந்த செயல்திறனை உறுதி செய்வோம்.
ஏன் கோட் ஸ்ப்ளிட்டிங் முக்கியமானது
விவரங்களுக்குள் செல்வதற்கு முன், கோட் ஸ்ப்ளிட்டிங் ஏன் மிகவும் முக்கியமானது என்பதை மீண்டும் வலியுறுத்துவோம்:
- குறைக்கப்பட்ட ஆரம்ப ஏற்றுதல் நேரம்: தேவையான குறியீட்டை மட்டும் முன்கூட்டியே ஏற்றுவதன் மூலம், பயனர்கள் உங்கள் பயன்பாட்டுடன் வேகமாக தொடர்பு கொள்ளலாம். அமேசான் அல்லது அலிபாபா போன்ற ஒரு பெரிய இ-காமர்ஸ் தளத்தை கற்பனை செய்து பாருங்கள்; ஒவ்வொரு தயாரிப்பு பக்கம் மற்றும் அம்சத்திற்கான அனைத்து ஜாவாஸ்கிரிப்டையும் ஒரே நேரத்தில் ஏற்றுவது நம்பமுடியாத அளவிற்கு மெதுவாக இருக்கும். கோட் ஸ்ப்ளிட்டிங் பயனர்கள் தயாரிப்புகளை விரைவாக உலாவத் தொடங்க முடியும் என்பதை உறுதி செய்கிறது.
- மேம்பட்ட செயல்திறன்: சிறிய பண்டல்கள் என்றால் குறைவான குறியீட்டைப் பாகுபடுத்தி செயல்படுத்த வேண்டும், இது மேம்பட்ட இயக்க நேர செயல்திறன் மற்றும் பதிலளிப்புக்கு வழிவகுக்கிறது. இது குறிப்பாக குறைந்த சக்தி கொண்ட சாதனங்கள் அல்லது வரையறுக்கப்பட்ட அலைவரிசை கொண்ட நெட்வொர்க்குகளில் கவனிக்கப்படுகிறது.
- மேம்படுத்தப்பட்ட பயனர் அனுபவம்: வேகமான மற்றும் பதிலளிக்கக்கூடிய பயன்பாடு ஒரு சிறந்த பயனர் அனுபவமாக மாறுகிறது, இது அதிகரித்த ஈடுபாடு மற்றும் திருப்திக்கு வழிவகுக்கிறது. இது பயனரின் இருப்பிடத்தைப் பொருட்படுத்தாமல் உலகளாவியது.
- திறமையான வளப் பயன்பாடு: கோட் ஸ்ப்ளிட்டிங் உலாவிகள் தனிப்பட்ட துண்டுகளை தற்காலிகமாக சேமிக்க அனுமதிக்கிறது, எனவே அடுத்தடுத்த வருகைகள் அல்லது பயன்பாட்டிற்குள் வழிசெலுத்தல் தற்காலிகமாக சேமிக்கப்பட்ட குறியீட்டைப் பயன்படுத்தலாம், இது செயல்திறனை மேலும் மேம்படுத்துகிறது. ஒரு உலகளாவிய செய்தி வலைத்தளத்தைக் கவனியுங்கள்; விளையாட்டு அல்லது வணிகம் போன்ற குறிப்பிட்ட பிரிவுகளுக்கான குறியீட்டை பயனர் அந்தப் பிரிவுகளுக்குச் செல்லும்போது மட்டுமே ஏற்ற முடியும்.
ரூட்-பேஸ்டு கோட் ஸ்ப்ளிட்டிங்
ரூட்-பேஸ்டு கோட் ஸ்ப்ளிட்டிங் என்பது உங்கள் பயன்பாட்டின் குறியீட்டை வெவ்வேறு ரூட்கள் அல்லது பக்கங்களின் அடிப்படையில் பிரிப்பதை உள்ளடக்கியது. இது ஒரு பொதுவான மற்றும் ஒப்பீட்டளவில் நேரடியான அணுகுமுறையாகும். ஒரு பயனர் ஒரு குறிப்பிட்ட ரூட்டிற்குச் செல்லும்போது, அந்த ரூட்டிற்குத் தேவையான ஜாவாஸ்கிரிப்ட் மட்டுமே ஏற்றப்படுகிறது.
செயல்படுத்துதல்
ரூட்-பேஸ்டு கோட் ஸ்ப்ளிட்டிங்கின் குறிப்பிட்ட செயல்படுத்தல் நீங்கள் பயன்படுத்தும் கட்டமைப்பைப் பொறுத்து மாறுபடும்.
ரியாக்ட்
ரியாக்டில், ரூட்களை லேசியாக ஏற்றுவதற்கு ரியாக்ட் வழங்கும் React.lazy
மற்றும் Suspense
கூறுகளைப் பயன்படுத்தலாம்.
import React, { Suspense } from 'react';
import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';
const Home = React.lazy(() => import('./Home'));
const About = React.lazy(() => import('./About'));
const Products = React.lazy(() => import('./Products'));
function App() {
return (
Loading...
இந்த எடுத்துக்காட்டில், Home
, About
, மற்றும் Products
கூறுகள் லேசியாக ஏற்றப்படுகின்றன. Suspense
கூறு, கூறுகள் ஏற்றப்படும்போது ஒரு ஃபால்பேக் UI-ஐ (இந்த விஷயத்தில், "Loading...") வழங்குகிறது.
எடுத்துக்காட்டு காட்சி: ஒரு உலகளாவிய சமூக ஊடக தளத்தை கற்பனை செய்து பாருங்கள். ஒரு பயனர் முதலில் உள்நுழையும்போது, அவர்கள் தங்கள் செய்தி ஊடான (Home) பக்கத்திற்கு அனுப்பப்படுகிறார்கள். பயனர் சுயவிவரங்கள் (About) அல்லது சந்தை (Products) போன்ற அம்சங்களுக்கான குறியீடு, பயனர் அந்தப் பிரிவுகளுக்குச் செல்லும்போது மட்டுமே ஏற்றப்படுகிறது, இது ஆரம்ப ஏற்றுதல் நேரத்தை மேம்படுத்துகிறது.
ஆங்குலர்
ஆங்குலர் அதன் ரூட்டர் உள்ளமைவு மூலம் மாட்யூல்களின் லேசி லோடிங்கை ஆதரிக்கிறது. தேவைக்கேற்ப ஏற்றப்பட வேண்டிய ஒரு மாட்யூலைக் குறிப்பிட loadChildren
பண்பைப் பயன்படுத்தலாம்.
// app-routing.module.ts
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
const routes: Routes = [
{ path: 'home', loadChildren: () => import('./home/home.module').then(m => m.HomeModule) },
{ path: 'about', loadChildren: () => import('./about/about.module').then(m => m.AboutModule) },
{ path: 'products', loadChildren: () => import('./products/products.module').then(m => m.ProductsModule) },
{ path: '', redirectTo: '/home', pathMatch: 'full' },
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
இந்த எடுத்துக்காட்டில், HomeModule
, AboutModule
, மற்றும் ProductsModule
ஆகியவை பயனர் அந்தந்த ரூட்களுக்குச் செல்லும்போது லேசியாக ஏற்றப்படுகின்றன.
எடுத்துக்காட்டு காட்சி: ஒரு பன்னாட்டு நிறுவனத்தின் உள் வலை போர்ட்டலைக் கவனியுங்கள். வெவ்வேறு துறைகள் (எ.கா., HR, நிதி, சந்தைப்படுத்தல்) அவற்றின் சொந்த மாட்யூல்களைக் கொண்டுள்ளன. கோட் ஸ்ப்ளிட்டிங், ஊழியர்கள் அவர்கள் தொடர்பு கொள்ளும் துறைகளுக்கான குறியீட்டை மட்டுமே பதிவிறக்கம் செய்வதை உறுதி செய்கிறது, இது ஏற்றுதல் செயல்முறையை நெறிப்படுத்துகிறது.
வ்யூ.js
வ்யூ.js உங்கள் ரூட்டர் உள்ளமைவில் டைனமிக் இறக்குமதிகளைப் பயன்படுத்தி கூறுகளின் லேசி லோடிங்கை ஆதரிக்கிறது.
// router.js
import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)
const routes = [
{
path: '/',
name: 'Home',
component: () => import(/* webpackChunkName: "home" */ '../views/Home.vue')
},
{
path: '/about',
name: 'About',
component: () => import(/* webpackChunkName: "about" */ '../views/About.vue')
},
{
path: '/products',
name: 'Products',
component: () => import(/* webpackChunkName: "products" */ '../views/Products.vue')
}
]
const router = new VueRouter({
mode: 'history',
base: process.env.BASE_URL,
routes
})
export default router
இங்கே, Home.vue
, About.vue
, மற்றும் Products.vue
கூறுகள் அந்தந்த ரூட்கள் பார்வையிடப்படும்போது லேசியாக ஏற்றப்படுகின்றன. webpackChunkName
கமெண்ட், வெப்பேக்கிற்கு ஒவ்வொரு கூறுக்கும் தனித்தனி துண்டுகளை உருவாக்க உதவுகிறது.
எடுத்துக்காட்டு காட்சி: ஒரு உலகளாவிய ஆன்லைன் கல்வித் தளத்தை கற்பனை செய்து பாருங்கள். பாடப் பிரிவுகள் (எ.கா., கணிதம், வரலாறு, அறிவியல்) மாணவர்கள் அவற்றில் சேரும்போது தேவைக்கேற்ப ஏற்றப்படலாம். இந்த அணுகுமுறை ஆரம்ப பதிவிறக்க அளவைக் குறைத்து பயனர் அனுபவத்தை மேம்படுத்துகிறது.
ரூட்-பேஸ்டு கோட் ஸ்ப்ளிட்டிங்கின் நன்மைகள்
- எளிமையான செயல்படுத்தல்: அமைப்பதற்கும் புரிந்துகொள்வதற்கும் ஒப்பீட்டளவில் எளிதானது.
- தெளிவான பொறுப்புப் பிரிப்பு: பல வலைப் பயன்பாடுகளின் அமைப்புடன் நன்றாகப் பொருந்துகிறது.
- மேம்படுத்தப்பட்ட ஆரம்ப ஏற்றுதல் நேரம்: முன்கூட்டியே ஏற்றப்படும் குறியீட்டின் அளவில் குறிப்பிடத்தக்க குறைப்பு.
ரூட்-பேஸ்டு கோட் ஸ்ப்ளிட்டிங்கின் தீமைகள்
- நகலெடுப்பதற்கான சாத்தியம்: பகிரப்பட்ட கூறுகள் அல்லது சார்புகள் பல ரூட் துண்டுகளில் சேர்க்கப்படலாம், இது குறியீடு நகலெடுப்பிற்கு வழிவகுக்கும்.
- நுணுக்க வரம்புகள்: பல ரூட்களில் பகிரப்பட்ட சிக்கலான கூறுகளைக் கொண்ட பயன்பாடுகளுக்கு இது உகந்ததாக இருக்காது.
கம்போனென்ட்-பேஸ்டு கோட் ஸ்ப்ளிட்டிங்
கம்போனென்ட்-பேஸ்டு கோட் ஸ்ப்ளிட்டிங் என்பது உங்கள் பயன்பாட்டின் குறியீட்டை முழு ரூட்களை விட தனிப்பட்ட கூறுகளின் அடிப்படையில் பிரிப்பதை உள்ளடக்கியது. இது குறியீடு ஏற்றுதலுக்கு ஒரு நுணுக்கமான அணுகுமுறையை அனுமதிக்கிறது, தேவைப்படும்போது குறிப்பிட்ட கூறுகளுக்குத் தேவையான குறியீட்டை மட்டும் ஏற்றுகிறது.
செயல்படுத்துதல்
கம்போனென்ட்-பேஸ்டு கோட் ஸ்ப்ளிட்டிங், ரூட்-பேஸ்டு ஸ்ப்ளிட்டிங்கை விட சிக்கலானது, ஆனால் அதிக நெகிழ்வுத்தன்மை மற்றும் மேம்படுத்தல் திறனை வழங்குகிறது. மீண்டும், செயல்படுத்தல் கட்டமைப்பைப் பொறுத்து மாறுபடும்.
ரியாக்ட்
ரியாக்டில், ஒரு ரூட் அல்லது பிற கூறுக்குள் தனிப்பட்ட கூறுகளை லேசியாக ஏற்றுவதற்கு React.lazy
மற்றும் Suspense
-ஐப் பயன்படுத்தலாம்.
import React, { Suspense } from 'react';
const MyComponent = React.lazy(() => import('./MyComponent'));
function MyPage() {
return (
Welcome to My Page
Loading Component... }>