原有vue项目接入typescript (3)

myComponent.vue改造前略,这里只展示改造后的组件

<template> <div>{{title}}{{name}}</div> </template> <script lang="ts"> import { Component, Prop, Vue } from 'vue-property-decorator' @Component export default class MyComponent extends Vue { @Prop({ type: String, default: '' }) name: string title: string = '您好' } </script> <style lang="scss" scoped> .main{ display: none; } </style>

这里需要注意的是:

ts默认不会识别.vue文件,所以需要在sfc.d.ts文件中声明,同时在引入vue组件时,要加.vue后缀

引入vue-property-decorator插件。采用修饰符的方式进行组件注册,这样里面的data、prop和function都通过扁平化方式调用(这也是官方推荐的方式)

ts中import引入文件,如果不写后缀,默认是js文件。如果js文件没有,则才识别ts文件

现在说下前面提到的改造方案:

这里其实主要涉及.vue文件和lib库的改造,vue文件没啥可说的,一个个改就可以了。主要说lib里面的文件,这里我建议:

一开始保留原来的js文件,并不删除。这样目前尚未改造的文件可以继续使用

新建对应的ts文件,比如lib中有util.js,新创建util.ts

新改造的vue文件通通引入lib库中xx.ts(要加.ts后缀),如import Util from '@/lib/util.ts'
这样可以一点点改造整个项目,同时未改造的页面照样可以运行。

ok以上就是我们改造的全部过程。
有什么问题可以指正,大家互相学习

原有vue项目接入typescript

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpsdxw.html