我在网上搜索了一个最简单的Vue示例.js+TypeScript设置.与"modern JavaScript stack"一样,这些教程中的大多数要么已经过时,尽管只是在几个月前编写的,要么取决于非常具体的设置.似乎没有通用的、可验证的例子可供借鉴.

以下是我考虑过的一些资源:

我使用的基本模板是使用所有默认选项运行vue-cli init webpack提供的模板.由于这会产生大量代码,所以我不会将所有内容都粘贴到这里.如果需要一些具体的摘录,我很乐意更新这个问题.

官方的Vue.JS文档对于我的目的来说是无用的,因为它不考虑用SFCS来设置Typescript .我最近try 的是名单上的最后一个.我严格遵循了设置,但在npm run dev分钟时遇到了以下错误:

[tsl] ERROR in /Users/[REDACTED]/ts-test/src/main.ts(12,3)
      TS2345: Argument of type '{ el: string; router: any; template: string; components: { App: { name: string; }; }; }' is not assignable to parameter of type 'ComponentOptions<Vue, DefaultData<Vue>, DefaultMethods<Vue>, DefaultComputed, PropsDefinition<Rec...'.
  Object literal may only specify known properties, and 'router' does not exist in type 'ComponentOptions<Vue, DefaultData<Vue>, DefaultMethods<Vue>, DefaultComputed, PropsDefinition<Rec...'.

有人能解释一下为什么会发生这种情况,以及如何解决它吗?更好的是,我非常欢迎一个简洁、简单、循序渐进的示例,介绍如何建立一个工作的Vue.js+TypeScript配置和webpack模板.

我已经成功地完成了几个在Vue生产环境中运行的客户项目.js与vanilla JavaScript结合使用,但此TypeScript工具与Vue结合使用.js把我搞糊涂了.

推荐答案

update

2018年9月,我们应该try 新的vue-cliTypeScript Plugin.


绝对同意@sobolevn的观点.但是,有很多信息需要我判断,社区对TypeScript的支持值得等待.

Vue的生态系统正在变得更加复杂:

  1. *.vue文件的TypeScript lint在VSCode中不受支持.看这一期vetur.

  2. 开源生态系统.

  3. vue-cli的设计.click me

因此,如果你有时间等待,你可以暂时观察一段时间.或者,你可以参考这些项目:TypeScript-Vue-StarterA Webpack Template Fork With Typescript Support.

Vue.js相关问答推荐

为什么在Vue.js中修改非react 性似乎是react 性的?

如何在Vue 3中将动态特性从主零部件同步到子零部件

如何以惯用的方式触发 vue3 中同级组件的效果?

Nuxt3: 安装vue3-spinner (error: require is not defined in ES module scope)

如果单元格不可见,则以编程方式打开行的编辑模式. Ag 网格,Vue.js

作用域slots和 IE11 的问题

Polyfill for ie

如何在不实例化根实例的情况下使用 vue 组件?

单击链接会更改 url,但不会更改页面上的内容/数据

命名空间模块身份验证的重复命名空间身份验证

JavaScript/VueJS:判断数组是否包含具有特定值元素的对象

为什么我在 vue.js 中得到避免使用 JavaScript 一元运算符作为属性名称?

如何在 Vue 中转发 $refs

在 Vuejs 中计算 DOM 元素之间距离的最佳方法是什么?

Vuex - 何时从 http 服务器加载/初始化存储数据

如何异步验证 Vuetify 文本字段?

Vue.js webpack:如何获取目录中的文件列表?

在 Vue.js 模板中调用函数

VueJS 复选框更新

表格行上的 Vuejs 转换