[Vue3] vue/no-multiple-template-root 오류

KBS·2022년 4월 9일
0

Vue3

목록 보기
1/3

[vue/no-multiple-template-root] The template root requires exactly one element.

Vue를 셋팅하는 과정에서 위와 같은 오류가 떴다.

검색을 해보니
package.json이 작업 공간 루트에 없으면 Vetur는 기본적으로 package.json을 찾을 수 없으므로 vue 버전을 파악할 수 없다고 한다.

이를 해결하기 위한 방법은 프로젝트 파일의 root 경로에

// vetur.config.js
/** @type {import('vls').VeturConfig} */
module.exports = {
  // **optional** default: `{}`
  // override vscode settings
  // Notice: It only affects the settings used by Vetur.
  settings: {
    "vetur.useWorkspaceDependencies": true,
    "vetur.experimental.templateInterpolationService": true
  },
  // **optional** default: `[{ root: './' }]`
  // support monorepos
  projects: [
    './packages/repo2', // Shorthand for specifying only the project root location
    {
      // **required**
      // Where is your project?
      // It is relative to `vetur.config.js`.
      root: './packages/repo1',
      // **optional** default: `'package.json'`
      // Where is `package.json` in the project?
      // We use it to determine the version of vue.
      // It is relative to root property.
      package: './package.json',
      // **optional**
      // Where is TypeScript config file in the project?
      // It is relative to root property.
      tsconfig: './tsconfig.json',
      // **optional** default: `'./.vscode/vetur/snippets'`
      // Where is vetur custom snippets folders?
      snippetFolder: './.vscode/vetur/snippets',
      // **optional** default: `[]`
      // Register globally Vue component glob.
      // If you set it, you can get completion by that components.
      // It is relative to root property.
      // Notice: It won't actually do it. You need to use `require.context` or `Vue.component`
      globalComponents: [
        './src/components/**/*.vue'
      ]
    }
  ]
}

를 입력하면 된다.

profile
FE DEVELOPER

0개의 댓글