Я разделил свой JS на несколько файлов, чтобы облегчить мою жизнь, так как файл получал более 500 строк.В начале моего основного файла feature.js я проверяю, присутствует ли на странице «функция».Итак, я знаю, что присутствуют все «функциональные» элементы DOM.Если это так, то он должен продолжать разбирать дальше.Например:
import { valuesStored } from '../values.js';
const feature = document.querySelector('#feature')
if (feature.length) {
// parse my code
// some functions calling (valuesStored)
}
В другом файле у меня есть некоторые переменные, например, некоторый объект, в котором я хранил значения из идентификаторов DOM, например:
export let valuesStored = {
itemA: document.getElementById('itemA').value
}
Когда, во-первых,Раньше я объявлял мою переменную в операторе if, тогда все было хорошо
Но теперь, когда я сохранил ее в другом файле и импортирую, кажется, что переменные values.js и valuesStored анализируются каждый разперед вызовом даже на страницах, где «фича» нет.И поэтому он выдает ошибку, поскольку document.getElementById ('itemA') отсутствует и, следовательно, document.getElementById ('itemA'). Value выбрасывает ошибку.
Как я могу решить эту проблему?В принципе, я хотел бы, чтобы созданные мной файлы JS анализировались только при вызове, а не до того, чтобы избежать появления такой ошибки и, возможно, повысить производительность (за счет снижения разбора JS).
Спасибо