我已将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解析)。
谢谢