首页 > 解决方案 > Vue 3 警告“带有副作用的标签”正在破坏生产

问题描述

我最近从 Vue 2 升级到了 Vue 3,我的应用程序的一些部分在development模式下会发出警告:

[Vue warn]: Template compilation error: Tags with side effect (<script> and <style>) are ignored in client component templates.

在 Vue 2 中,这些警告只是隐藏在production. 但是,在 Vue 3 中,带有这些警告的页面会完全中断,并且屏幕会变为空白。他们运行良好development

删除所有这些标签对我来说是不切实际的,<script>因为它们是由我的 CMS(Shopify)动态插入的。

有什么方法可以让我在生产中发现这些错误,这样他们就不会关闭我的网站?

标签: javascriptvue.jsvuejs3

解决方案


到目前为止,这是我找到的最佳解决方案。

代替:

<script>
  // JS CODE HERE
</script>

和:

<component :is="'script'">
  // JS Here
</component>

但是,我更喜欢全局设置,这样我就不必为每个插件都这样做。现在我的应用程序感觉非常脆弱,以防我团队中的任何人添加另一个 CMS 插件。

我不希望应用程序在遇到<script>标签时立即中断...


推荐阅读