سلام وقتتون بخیر
من تعداد زیادی فایل های جاوا اسکریپت دارم و میخوام همه این فایل ها رو به شکل 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
سلام احتمالا یک المنت رو خواستید انتخاب کنید ولی المنت پیدا نشده برای رفعش مثل زیر عمل کنید:
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');
});
خیلی ممنون بابت راهنمایی @sinashahoveisi
این روش رو امتحان کرده بودم درست هم کار می کنه به این روش استاندارد هست که برای هر event یه شرط بزارم ؟
@Mohammad.Naderi85
بله درست است چون احتمال این که چیزی انتخاب نشه وجود داره. اگه میخوای برای هر کدوم شرط نذاری میتونی از روش دوم استفاده کنی یعنی
btn?.addEventListener('click', () => {
console.log('btn clicked');
});
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟