[ ssr+ts | 青训营笔记]

62 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 4 天

1、构建部署有要求(服务端一般node.js渲染) 

2、有的第三方库可能受到限制不能用 

3、服务端负载大(需每次创建Vue实例) 

每次用户请求都需创建router实例,区别于spa的单用户请求,一般多用户请求 故使用创建函数createrouter而不是router实例

webpack打包通用入口

根据打包文件动态生成渲染器 

TS

普通类型

Number,String,Boolean和Object

元组 Tuple

元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同。

Any

有时候,我们会想要为那些在编程阶段还不清楚类型的变量指定一个类型。 这些值可能来自于动态的内容

变量声明

letconst是JavaScript里相对较新的变量声明方式。支持const声明的函数.

使用Node模块解析时,TypeScript会读取package.json文件,找到它需要读取的文件,它首先会查看名字为typesVersions的字段。

 typesVersions支持多个字段,每个字段都指定了一个匹配范围。

接口

可以在属性名前用 readonly来指定只读属性

可选属性在应用“option bags”模式时很常用,即给函数传入的参数对象中只有部分属性赋值。

readonly vs const

最简单判断该用readonly还是const的方法是看要把它做为变量使用还是做为一个属性。 做为变量使用的话用 const,若做为属性则使用readonly

检查

支持使用--checkJs.js文件进行类型检查和错误提示。

通过添加// @ts-nocheck注释来忽略类型检查;

通过去掉--checkJs设置并添加一个// @ts-check注释来选则检查某些.js文件。 

还可以使用// @ts-ignore来忽略本行的错误。

symbol

symbol成为了一种新的原生类型,就像numberstring一样。不可改变且唯一的

----------------------------------

done回调函数可能以1个参数或2个参数调用。

TypeScript解析签名兼容性时会查看是否某个目标签名能够使用源的参数调用,

且允许外来参数。