我用Vue 3和TailwindCss创建了一个Vite前端。使用npm run serve
启动应用程序:一切正常,没有任何警告或错误。
但是在使用npm run build
进行部署后,在过滤或选择数组/对象项时,我会遇到TypeError: Cannot read property 'insertBefore' of null
错误。
链接到所有代码的repo:Github Repo
这里是部署应用的链接:Deployed Application
复制步骤:
- 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部署
2条答案
按热度按时间ccgok5k51#
问题通过更新到vue版本
3.1.5
自行解决。gv8xihay2#
对我来说,只运行此配置:
字符串