NodeJS 仅在生成时发生Vite错误(TypeError:无法读取null的属性“insertBefore”)

hujrc8aj  于 2023-08-04  发布在  Node.js
关注(0)|答案(2)|浏览(155)

我用Vue 3和TailwindCss创建了一个Vite前端。使用npm run serve启动应用程序:一切正常,没有任何警告或错误。
但是在使用npm run build进行部署后,在过滤或选择数组/对象项时,我会遇到TypeError: Cannot read property 'insertBefore' of null错误。

链接到所有代码的repo:Github Repo
这里是部署应用的链接:Deployed Application
复制步骤:

  1. Pull Github Repo
    1.从npm run serve开始,看看它应该如何工作。或者将npm run build之后的dist目录部署到任何像nginx这样的web服务器上来获取错误。
    1.在浏览器localhost:3000或Web服务器的URL或我部署的链接中打开。
    1.请输入用户名和密码:test123
    1.导航到/apartments或使用左侧的导航栏Wohnungen
    1.错误1:从列表中选择一个公寓,然后再次单击以取消选择它。->现在不能再选择公寓,并且控制台中显示错误。需要重新加载才能使其再次工作。(从一个公寓切换到另一个公寓效果很好。仅当取消选择当前选定的公寓时才会发生错误)
    1.错误2:如果在同一页面顶部的搜索输入中输入一些东西,公寓会相应地被过滤(例如:输入Rund)如果然后删除搜索输入所有公寓再次出现。但是如果你选择过滤列表中的一个单元并删除searchinput,你会得到错误,列表不会得到更新。

代码引用:

所有描述的功能发生在:Appartment View

  • 选择/取消选择:
  • 功能:selectWohnung()(第273行)
  • 组件:ApartmentListItemComponent(ListObject)ApartmentDetailComponent(DetailObjectView)
  • 数据:apartments(所有公寓的列表),filteredApartments(所有公寓的过滤列表),selectedApartment(当前选择的公寓)
  • 过滤:
  • 功能:search()(第329行)
  • 组件:ApartmentListItemComponent(ListObject)
  • 数据:apartments(所有公寓的列表),filteredApartments(所有公寓的过滤列表),searchString(搜索输入)
    我的想法/尝试:
  • 我不知道它如何在serve中工作绝对很好,但是在build之后它会抛出错误。
  • 我想这和v-if有关。例如,我从:<aside v-if="selectedApartment !== undefined">[...]<aside v-show="selectedApartment !== undefined">[...]以修复选择公寓错误。但我不认为我解决了这个解决方案的主要问题-> Reverted in Repo。
  • 在移动的上,未发生任何错误。因此,也许它必须与组件的可见性有关?
    我希望这些信息是足够的,而不是太混乱。我希望代码与部署的完全一样。我不知道如何修复这个错误或这个错误来自哪里。提前感谢

附加信息:

  • 节点版本:14.17.3
  • npm版本:7.19.1
  • 浏览器:Chrome版本91.0.4472.124
  • 使用.htaccess部署
ccgok5k5

ccgok5k51#

问题通过更新到vue版本3.1.5自行解决。

gv8xihay

gv8xihay2#

对我来说,只运行此配置:

"watch-tsc": "tsc --noEmit --watch",
"vite:dev": "vite --mode dev",
"vite:hlg": "vite --mode hlg",
"vite:prd": "vite --mode hlg",
"start:dev": "npm-run-all --parallel watch-tsc vite:dev",
"start:hlg": "npm-run-all --parallel watch-tsc vite:hlg",
"start:prd": "npm-run-all --parallel watch-tsc vite:prd",

字符串

相关问题