Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

Webpack के साथ moment.js को लोकेल्स लोड करने से कैसे रोकें?

एक लोकेल फाइल एक .json फाइल होती है जिसमें एक थीम टेम्पलेट फाइल में उपयोग किए गए टेक्स्ट स्ट्रिंग्स के अनुवादों का सेट होता है। प्रत्येक भाषा के लिए एक अलग लोकेल फाइल उपयोग की जाती है।

जब आप अपने कोड में moment.js को require करते हैं और इसे webpack के साथ बंडल करते हैं, तो बंडल साइज़ बहुत बड़ा हो जाता है क्योंकि इसमें सभी लोकेल फाइल्स शामिल होती हैं।

आप IgnorePlugin का उपयोग करके सभी लोकेल फाइल्स को हटा सकते हैं।

उदाहरण

const webpack = require('webpack');

module.exports = {
  plugins: [
    // moment.js की सभी लोकेल फाइल्स को इग्नोर करें
    new webpack.IgnorePlugin({
      resourceRegExp: /^\.\/locale$/,
      contextRegExp: /moment$/
    }),
  ],
};

// अपने कोड में विशिष्ट लोकेल्स लोड करें
const moment = require('moment');
require('moment/locale/ja');
moment.locale('ja');

बंडलिंग के समय, webpack केवल ja के लिए लोकेल फाइल्स का उपयोग करेगा। इससे बंडल साइज़ बहुत कम हो जाएगा।

मॉडर्न Webpack (v5+) सिंटैक्स

module.exports = {
  plugins: [
    new webpack.IgnorePlugin({
      resourceRegExp: /^\.\/locale$/,
      contextRegExp: /moment$/
    })
  ]
};

विकल्प: moment-locales-webpack-plugin

const MomentLocalesPlugin = require('moment-locales-webpack-plugin');

module.exports = {
  plugins: [
    new MomentLocalesPlugin({
      localesToKeep: ['ja', 'en-gb'], // केवल ये लोकेल्स रखें
    }),
  ],
};

बेहतर विकल्प: दिनांक लाइब्रेरी बदलें

Moment.js अब लिगेसी मोड में है। इन हल्के विकल्पों पर विचार करें:

  • date-fns: मॉड्यूलर, ट्री-शेकेबल, ~2KB
  • dayjs: Moment जैसा API, ~2KB
  • luxon: समृद्ध API, ~12KB
  • Temporal API: नया JS स्टैंडर्ड (स्टेज 3)
// date-fns उदाहरण
import { format, parseISO } from 'date-fns';
import { ja } from 'date-fns/locale';

format(parseISO('2023-01-15'), 'PPPP', { locale: ja });
  1. iTunes का उपयोग करके iPhone से iPhone में मैसेज कैसे ट्रांसफर करें? iTunes का उपयोग करके iPhone से iPhone में मैसेज कैसे ट्रांसफर करें?

    iTunes का उपयोग करके iPhone से iPhone में मैसेज ट्रांसफर करना चाहते हैं? दो iPhones के बीच डेटा ट्रांसफर करने का पारंपरिक तरीका iTunes या iCloud का उपयोग करना है, आखिरकार, यह Apple द्वारा प्रदान की गई आधिकारिक उपयोगिता है। अब पुराने iPhone के सभी डेटा को नए iPhone में ट्रांसफर करने के बजाय, आप केवल

  1. लैपटॉप ओवरहीटिंग रोकें: सिद्ध बचाव तकनीकें लैपटॉप ओवरहीटिंग रोकें: सिद्ध बचाव तकनीकें

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

  1. अवांछित साइट नोटिफिकेशन रोकें: चरण-दर-चरण गाइड अवांछित साइट नोटिफिकेशन रोकें: चरण-दर-चरण गाइड

    वेब ब्राउज़र एक सुविधा प्रदान करते हैं जो वेबसाइटों को हाल की जानकारी या अपडेट के बारे में नोटिफिकेशन दिखाने की अनुमति देती है। ये नोटिफिकेशन दिखाने के लिए, वेबसाइटें उन्हें अनुमति या अस्वीकार करने की पुष्टि मांगती हैं। आपने नोटिफिकेशन दिखाएं प्रॉम्प्ट को Allow और Block विकल्पों के साथ देखा होगा। यद