Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Component is missing template or render function. #167

Open
moonshark opened this issue Aug 4, 2021 · 1 comment
Open

Component is missing template or render function. #167

moonshark opened this issue Aug 4, 2021 · 1 comment

Comments

@moonshark
Copy link

I am getting issues trying to get this to work.

This is the code inside of my component:

<template>
  <div>
    <SampleSvg />
  </div>
</template>

<script>
import SampleSvg from "@/assets/sample.svg"

export default {
  name: "HelloWorld",
  components: {
    SampleSvg
  },
};
</script>

This is my vue.config.js file:

module.exports = {

  chainWebpack: (config) => {
    const svgRule = config.module.rule('svg');

    svgRule.uses.clear();

    svgRule
      .use('babel-loader')
      .loader('babel-loader')
      .end()
      .use('vue-svg-loader')
      .loader('vue-svg-loader');
  },

  css: {
    loaderOptions: {
      sass: {
        prependData:
        `@import "@/assets/scss/globals/_variables.scss";
          @import "@/assets/scss/globals/_variables-font-sizes.scss";
          @import "@/assets/scss/globals/_colours.scss";
          @import "@/assets/scss/globals/_mixins.scss";
        `
      },
    },
  },
};

This is my package.json file

{
  "name": "frontend",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
  },
  "dependencies": {
    "axios": "^0.21.1",
    "core-js": "^3.6.5",
    "postcss": "^8.3.6",
    "vue": "^3.0.0",
    "vue-router": "^4.0.0-0"
  },
  "devDependencies": {
    "@vue/cli-plugin-babel": "~4.5.0",
    "@vue/cli-plugin-eslint": "~4.5.0",
    "@vue/cli-plugin-router": "~4.5.0",
    "@vue/cli-service": "~4.5.0",
    "@vue/compiler-sfc": "^3.0.0",
    "@vue/eslint-config-prettier": "^6.0.0",
    "babel-eslint": "^10.1.0",
    "eslint": "^6.7.2",
    "eslint-plugin-prettier": "^3.3.1",
    "eslint-plugin-vue": "^7.0.0",
    "prettier": "^2.2.1",
    "sass": "^1.26.5",
    "sass-loader": "^8.0.2",
    "style-resources-loader": "^1.4.1",
    "vue-svg-loader": "^0.17.0-beta.2",
    "vue-template-compiler": "^2.6.14"
  }
}

The error I get is:

[Vue warn]: Component is missing template or render function. 
  at <SampleSvg> 
  at <HelloWorld onVnodeUnmounted=fn<onVnodeUnmounted> ref=Ref< null > > 
  at <RouterView> 
  at <App>

If I open up the sample.svg file, I have this code:

<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg">
   <circle cx="50" cy="50" r="40" stroke="deeppink" stroke-width="2" fill="#ffe6ee" />
</svg>

I am pretty new to Vue, so apologies if this is down to how I have installed it.

@Miguel-Bento-Github
Copy link

@moonshark This is a duplicate of this issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants