vue--The template root requires exactly one element.的解决办法

文章讲述了在Vue中由于模板结构限制,可能导致的报错,介绍了两种解决方法:一是用
包裹所有元素,二是通过ESLint配置确保只有一个根元素。同时提到了在VueCLI4.15版本中eslint插件的配置问题和解决步骤。
摘要由CSDN通过智能技术生成

报错原因:

在vue中会出现以上问题,这是因为vue的模版中只有能一个根节点,所以在<template>中插入第二个元素就会报错。

解决方法:

有两种解决方法。

第一种(简单且快捷,但每次新建项目都要弄一次)

将<template>中的元素用一个大的<div>包起来,这样就可以在其中添加多个元素了,可以参考以下示例:

<template>
  <div>
    谢谢你的关注!
    <span>麻烦点个免费的小红心吧</span>
    <p>你相信光吗</p>
  </div>
</template>

第二种(麻烦,但一劳永逸):

一、在VS Code中添加ESLint插件

二、在node全局路径中生成 eslint 的配置文件 .eslintrc.js

1、路径一般在C:\Users\大圣\AppData\Roaming\npm\node_modules ,执行cmd

2、npm init 创建 package.json 文件

3、执行 eslint --init 创建配置文件

4、按照命令提示一直脱干净,全局文件就现身完成

三、在vscode中配置文件,设置

"eslint.options": {

    // 全局配置文件位置

        "configFile": "C:/Users/大圣/AppData/Roaming/npm/node_modules/.eslintrc.js",   

    },

四、vue@cli4.15版本发现的问题,无论取消设置vetur>Validation: Template还是在.eslintrc.js中配置"vue/no-multiple-template-root": "off",都是报错:root requires exactly one element;

将eslint升级后解决了:

  "devDependencies": {

    "eslint": "^8.6.0",

    "eslint-plugin-vue": "^8.2.0"

  },

注意:在项目中还需要取消依赖:@vue/cli-plugin-eslint,否则会报错:

eslint.CLIEngine is not a constructor
 

  • 13
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
回答: 错误提示"\[vue/valid-template-root\] The template root requires exactly one element."表示Vue模板需要有且只能有一个根节点。\[1\]这个错误通常是由于在Vue模板中使用了多个根节点导致的。解决这个问题的方法有两种。一种是通过自定义插件配置来禁用模板验证,具体操作步骤如下:在配置文件中添加以下内容: ``` { "vetur.validation.template": false } ``` 另一种方法是在模板中添加一个包裹所有组件的`<div>`标签,这样就只有一个根节点了。\[2\]\[3\]希望这些解决方法对你有帮助!如果还有其他问题,请随时提问。 #### 引用[.reference_title] - *1* [vue--The template root requires exactly one element.的解决办法](https://blog.csdn.net/weixin_41563161/article/details/102989252)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [【VUE-多个根节点问题】 [vue/valid-template-root] The template root requires exactly one element](https://blog.csdn.net/qq_42445425/article/details/127661104)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [[vue/valid-template-root]The template root requires exactly one element.错误。](https://blog.csdn.net/weixin_42464106/article/details/125618076)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

钞人本仁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值