Javascript 使用replit托管时出错

Javascript 使用replit托管时出错,javascript,html,css,repl.it,Javascript,Html,Css,Repl.it,我创建了一个打字网站,提高了打字的准确性和速度,但它是我计算机上的文件,并在本地访问,我试图将它们放在replit上,所有文件都在我的计算机上正常工作,但script.js文件似乎没有读取,并且有错误,例如: ReferenceError: quoteInputElement is not defined at /script.js:2:1 ReferenceError: quoteInputElement is not defined at /script.js:2:1 Sy

我创建了一个打字网站,提高了打字的准确性和速度,但它是我计算机上的文件,并在本地访问,我试图将它们放在replit上,所有文件都在我的计算机上正常工作,但script.js文件似乎没有读取,并且有错误,例如:

ReferenceError: quoteInputElement is not defined
    at /script.js:2:1
ReferenceError: quoteInputElement is not defined
    at /script.js:2:1

SyntaxError: Identifier 'RANDOM_QUOTE_API_URL' has already been declared
    at /script.js:1:1
   
这是我在js文件中的代码:


const RANDOM_QUOTE_API_URL = 'http://api.quotable.io/random'
const quoteDisplayElement = document.getElementById('quoteDisplay')
const quoteInputElement = document.getElementById('quoteInput')
const timerElement = document.getElementById('timer')

quoteInputElement.addEventListener('input', () => {
  const arrayQuote = quoteDisplayElement.querySelectorAll('span')
  const arrayValue = quoteInputElement.value.split('')

  let correct = true
  arrayQuote.forEach((characterSpan, index) => {
    const character = arrayValue[index]
    if (character == null) {
      characterSpan.classList.remove('correct')
      characterSpan.classList.remove('incorrect')
      correct = false
    } else if (character === characterSpan.innerText) {
      characterSpan.classList.add('correct')
      characterSpan.classList.remove('incorrect')
    } else {
      characterSpan.classList.remove('correct')
      characterSpan.classList.add('incorrect')
      correct = false
    }
  })

  if (correct) renderNewQuote()
})

function getRandomQuote() {
  return fetch(RANDOM_QUOTE_API_URL)
    .then(response => response.json())
    .then(data => data.content)
}

async function renderNewQuote() {
  const quote = await getRandomQuote()
  quoteDisplayElement.innerHTML = ''
  quote.split('').forEach(character => {
    const characterSpan = document.createElement('span')
    characterSpan.innerText = character
    quoteDisplayElement.appendChild(characterSpan)
  })
  quoteInputElement.value = null
  startTimer()
}

let startTime
function startTimer() {
  timerElement.innerText = 0
  startTime = new Date()
  setInterval(() => {
    timer.innerText = getTimerTime()
  }, 1000)
}

function getTimerTime() {
  return Math.floor((new Date() - startTime) / 1000)
}

renderNewQuote()


在我的电脑上一切正常,但我无法理解为什么会发生这种情况。请帮帮我,谢谢