У меня странная проблема только с созданием нового приложения с помощью vue-cli: у компонента HelloWorld есть ошибка с декораторами.Я ничего не трогал, весь код и конфигурация исходят из vue-cli.
Вот ошибка:
ERROR in /Users/JohnSmith/test/src/components/HelloWorld.vue
37:1 Unable to resolve signature of class decorator when called as an expression.
Type '<VC extends VueClass<Vue>>(target: VC) => VC' is missing the following properties from type 'typeof HelloWorld': extend, nextTick, set, delete, and 7 more.
35 | import { Component, Prop, Vue } from 'vue-property-decorator';
36 |
> 37 | @Component
| ^
38 | export default class HelloWorld extends Vue {
39 | @Prop() private msg!: string;
40 | }
Я нашел этот обходной путь:
@Component({
props: {
msg: {type: String},
},
})
export default class HelloWorld extends Vue {
// @Prop() private msg!: string;
}
Но я бы хотел использовать декораторы, и это не нормально - иметь ошибки в сгенерированном фиктивном проекте.
Это моя среда:
- macOS High Sierra10.13.6
- узел v11.3.0 (с заваркой)
- npm 6.4.1
- пряжа 1.12.3 (с заваркой)
- Vue CLI v3.2.1
- Врач доктор в порядке
А вот варианты vue-cli, которые я использовал для создания проекта:
? Please pick a preset: Manually select features
? Check the features needed for your project: Babel, TS, PWA, Router, Vuex, CSS Pre-processors, Linter
? Use class-style component syntax? Yes
? Use Babel alongside TypeScript for auto-detected polyfills? Yes
? Use history mode for router? (Requires proper server setup for index fallback in production) Yes
? Pick a CSS pre-processor (PostCSS, Autoprefixer and CSS Modules are supported by default): Sass/SCSS
? Pick a linter / formatter config: TSLint
? Pick additional lint features: (Press <space> to select, <a> to toggle all, <i> to invert selection)Lint on save
? Where do you prefer placing config for Babel, PostCSS, ESLint, etc.? In dedicated config files
? Save this as a preset for future projects? No
Я не нашел ни одногоинформация об этой проблеме где угодно.
Откуда она взялась?
Спасибо за вашу помощь!