首页 > 解决方案 > 如果我运行 firebase serve,部分 JavaScript 文件不会执行

问题描述

我的问题很简单。我有点学习firebase,尤其是云功能。当我运行 firebase serve 时,它​​不会执行我的 js 文件的一部分。我插入到 js 文件中的任何新代码都不会被添加。当我检查来源时,我发现只有一半的脚本。但是,如果我使用 vs code live server 来提供文件,则将运行完整的脚本。但是实时服务器并不理想,因为我使用自动方法连接到firebase而不是cdn,所以实时服务器无法连接到firebase库

const requestModal = document.querySelector('.new-request');
const requestBtn = document.querySelector('.add-request');

requestBtn.addEventListener('click', () => {
  requestModal.classList.add('open');
});
requestModal.addEventListener('click', (e) => {
  if(e.target.classList.contains('new-request')){
      requestModal.classList.remove('open');
  }else{
      alert('This is a modal, click on the outside to close it.');
      alert('Modal Closed');
  }
});

// say hello function call
const button = document.querySelector('.callBtn');
button.addEventListener('click', () => {
  alert('What are you');
  // get function reference
  const sayHello = firebase.functions().httpsCallable('sayHello');
  sayHello().then(result => {
      console.log(result.data);
  });
});

最后一个按钮是问题所在。当我通过 firebase 服务运行它时,按钮 ref 和事件侦听器没有被添加到脚本文件中。我尝试直接从 html 中使用 console.log(),它可以工作,但是如果我使用 firebase serve,我会遇到这个问题。

标签: javascriptfirebasegoogle-cloud-functions

解决方案


推荐阅读