vuejs / vue-class-component

ES / TypeScript decorator for class-style Vue components.
MIT License
5.8k stars 429 forks source link

error: Expected "class" but found "const" in Vite2 #503

Closed lgl017 closed 3 years ago

lgl017 commented 3 years ago

I tried switch vite version to 1.0rc, it's fine, but error on 2.0 And if no "@Options", it's fine too, but how can i include components

image package.json

"dependencies": {
    "vue": "3.0.5"
  },
  "devDependencies": {
    "@vitejs/plugin-vue": "^1.0.4",
    "@vue/compiler-sfc": "^3.0.5",
    "@vuedx/typecheck": "^0.4.1",
    "@vuedx/typescript-plugin-vue": "^0.4.1",
    "sass": "^1.32.2",
    "typescript": "^4.1.3",
    "vite": "^2.0.0-beta.10",
    "vue-class-component": "^8.0.0-rc.1"
  }

App.vue

<script lang="ts">
// import { defineComponent } from 'vue'  
import HelloWorld from './components/HelloWorld.vue';  

import { Vue, Options } from 'vue-class-component';  

@Options({  
    components: {  
        HelloWorld,  
    },
})  
export default class App extends Vue {

}
</script>
pruidong commented 3 years ago

I also encountered this problem.

MichaelSp commented 3 years ago

I don't understand what you've shared. The App.vue doesn't match the content from your screenshot. Is that intentional? Than I don't get it.

lgl017 commented 3 years ago

shared code is only script part in App.vue, others is same as new vite project(yarn create @vitejs/app viteProject --template vue-ts)

1.yarn create 2.yarn add... 3.modify app.vue to class style(shared code) 4.run dev then error

lgl017 commented 3 years ago

I found same issue in vite here: https://github.com/vitejs/vite/issues/1476

ktsn commented 3 years ago

This is more like Vite transpile issue.