راکت
حل شده

مشکل در minify فایل های جاوا اسکریپت با وب پک

5 پاسخ

سلام وقتتون بخیر
من تعداد زیادی فایل های جاوا اسکریپت دارم و میخوام همه این فایل ها رو به شکل minify در یک فایل قرار بدم.
به این صورت عمل کردم :

module.exports = {
    mode: 'production',
    entry: [
        './src/js/darkMode.js',
        './src/js/sidebar-bet.js',
        './src/js/navMenu.js',
        './src/js/accordion.js',
        './src/js/search-modal.js',
        './src/js/scrollUp.js',
        './src/js/showPassword.js',
    ],
    output: {
        filename: 'script.js',
    },
};

به درستی minify میشه ولی موقع استفاده ارور میگیرم توی بعضی از صفحات
متن ارور :

Uncaught TypeError: Cannot read properties of null (reading 'addEventListener')
    at script.js:1:5053
    at script.js:1:5146

ممنون میشم راهنمایی کنید
@SpyStar0003
@hesammousavi
@mhyeganeh
@amin.webdesign
@sinashahoveisi
@rezajahangir

ثبت پرسش جدید

پاسخ‌ها

5
سینا شاه‌اویسی
سینا شاه‌اویسی
@sinashahoveisi

تخصص: برنامه نویس

بهترین پاسخ

سلام احتمالا یک المنت رو خواستید انتخاب کنید ولی المنت پیدا نشده برای رفعش مثل زیر عمل کنید:

const btn = document.getElementById('does-not-exist');
console.log(btn); // 👉️ null

// ✅ Check if btn exists before addEventListener()
if (btn) {
  btn.addEventListener('click', () => {
    console.log('btn clicked');
  });
}

// ✅ Using optional chaining (?.)
btn?.addEventListener('click', () => {
  console.log('btn clicked');
});
Mohammad
Mohammad
@Mohammad.Naderi85

خیلی ممنون بابت راهنمایی @sinashahoveisi
این روش رو امتحان کرده بودم درست هم کار می کنه به این روش استاندارد هست که برای هر event یه شرط بزارم ؟

سینا شاه‌اویسی
سینا شاه‌اویسی
@sinashahoveisi

تخصص: برنامه نویس

@Mohammad.Naderi85
بله درست است چون احتمال این که چیزی انتخاب نشه وجود داره. اگه میخوای برای هر کدوم شرط نذاری میتونی از روش دوم استفاده کنی یعنی

btn?.addEventListener('click', () => {
  console.log('btn clicked');
});

شاید پاسخ شما همین‌جا باشد

Mohammad
Mohammad
@Mohammad.Naderi85

خیلی ممنون بابت راهنمایی 🙏🙏 @sinashahoveisi

سینا شاه‌اویسی
سینا شاه‌اویسی
@sinashahoveisi

تخصص: برنامه نویس

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام