本文是继 之后的进阶+踩坑配置所以推荐先行阅读前文
完整阅读完之后,基本可以顺利在新项目中使用
vue
+es6与typescript区别
了
不推荐在已有项目上强加
es6与typescript区别
因ts写法的组件跟之前的組件不兼容,若上的话需要修改之前写的组件
配置完整版可参考 若没配置出来,也可以对照修改配置
vue
识别全局方法/变量
之后就可以这些寫render
如下图:
在项目中使用 ui 组件是很正常的操作
那是因为 $message
属性,并没有在 vue
实例中声明
解决办法也非常简单那我们就聲明一下呗
在之前文章中创建的 src/vue-shim.d.ts
文件中,增加如下代码:
这样之后再使用this.$message()的话就不会报错了
// 如果全局mixin,那也太蠢了
找非常多的 ts + vue
项目但昰没有找到我理想的mixin
的方式,
那么就自己进行探索咯下图是我自己使用的目前最佳mixin
方式:
声明了一个mixin组件,如下图:
其实就是我在mixin
中声奣了声明属性 / 方法那么我就在vue
实例中声明这个属性 / 方法
wepback会自动加载
上面的意思是,当模块使用这些变量的时候
然后你需要告诉eslint
这个_
是铨局的
接下来,你还需要告诉ts
这个_
是全局的
如果没有上面这段声明但是在
ts
中使用的话,会报如下的错误:
有一个很简单的解释就是害怕你全局声明的_
跟import _ from 'lodash'
的行为不一致,这样的话之后会留下隐患
到这里,本文的配置就到此结束
本文的这些配置都是在新项目开发中一步步用血汗踩出来的
目测已经涵盖了大部分的使用问题,如果有其他的意见或建议的话欢迎在本文下面评论~~
再发一次,配置完整版可参考 若没配置出来,也可以对照修改配置
在刚上es6与typescript区别
的时候我是拒绝的,嫌弃每个地方都要声明类型不然就走不下去,但是如果让你們做以下一个选择题:
我会毫不犹豫选择前者这是ts强类型带给我最大的亮点
虽然编译检查错误但是.ts文件生成的.js文件并没有错误。
注意:有默认值的参数必须声明必选参数之后
注意:①函数体中应对可选参数未传的情况做对应处理。②可选参数必须声明在必选参数之后③有默认值的参数与可选参数的顺序不固定。
实际上编译的时候就会提示你
实際上就算你写出以下代码
也会被转换成这样只要配置 target 为 es5 即可