导入变量使它在检查条件和调用变量之前进行解析

时间:2019-09-23 18:03:51

标签: javascript parsing import scope export

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

谢谢

0 个答案:

没有答案