другие файлы:
- Файл functions.js. В этом файле очень много вспомогательных функций.
- Файл product.js. В этом файле много вспомогательных функций ИМЕННО ДЛЯ РАБОТЫ С ТОВАРАМИ.
Проблема: в функциях файла product.js нужны функции из файла functions.js.
Если я в файле product.js напишу то же самое, что в index.js:
import functions from './functions.js';
У меня код из файла functions.js подключится 2 раза? Ведь подключение functions.js теперь происходит и в index.js и в product.js (а product.js подключается в index.js)? Или webpack умный и не будет дублировать код из functions.js, а возьмет просто "пространство имен"?
Ага, я понял ваш вопрос. Каждый модуль это можно сказать объект со своей областью видимости, он создается только один раз и все. Вы можете даже хранить в нем переменные
Но ОЗУ будет больше потребляться, верно? То есть решение не очень хорошее?
Можно не импортировать файл второй раз, а установить переменную window, например. И туда записать нужные функции. Но это какой-то костыль.
Нет, так делать точно не стоит
Можно добавить параметры функциям в файле products.js. Эти параметры будут принимать функции, которые нужны для работы (функции из файла functions.js). Можно даже одним параметром обойтись - объект с функциями. Но это тоже какой-то костыль.
Не вижу в этом смысла
Обсуждают сегодня