【前端工程】Typescript的使用

软件部
• 阅读 2389

Typescript的认识

Js的超集,核心是提供了静态类型系统。
例如:定义成数字类型的变量不能用字符串类型值赋值。

vue项目中使用Typescript需要的插件

typescript”: “\^3.1.4” (这个是必须的,ts库)
“ts-loader”: “\^3.5.0” (识别ts的loader)
“tslint”: “\^5.11.0” (tslint校验库)
“tslint-loader”: “\^3.5.4” (tslint的loader)
“tslint-config-standard”: “\^8.0.1” (用于tslint默认校验规则)
“vue-property-decorator”: “\^7.2.0” (用于在.vue文件中使用ts语法)

tsconfig.json配置Typescript编译规则

  • 不带任何输入文件的情况下调用tsc,编译器会从当前目录开始去查找tsconfig.json文件,逐级向上搜索父目录。
  • 不带任何输入文件的情况下调用tsc,且使用命令行参数--project(或-p)指定一个包含tsconfig.json文件的目录。
  • 当命令行上指定了输入文件时,tsconfig.json文件会被忽略。
{
  "compilerOptions": {
    "target": "es6", //Ts编译成es6
    "strict": true,
    "module": "esnext",//生成指定的模块系统代码
    "typeRoots": ["./src/types"],//指定编译的包的范围
    "types": ["node", "webpack-env"],//指定可编译的特定包
    "moduleResolution": "node",
    "sourceMap": true,
    "noImplicitAny": true,
    "jsx": "preserve",
    "lib": ["dom", "es6", "es2017"],
    "baseUrl": "./",
    "paths": {//基于baseUrl,进行模块解析的文件范围
      "@/*": ["src/*"],
      "@config/*": ["config/*"],
      "@script/*": ["script/*"],
      "@store/*": ["src/store/*"],
      "@library/*": ["src/library/*"],
      "@modules/*": ["src/modules/*"],
      "@style/*": ["src/style/*"],
      "@components/*": ["src/components/*"]
    },
    "allowSyntheticDefaultImports": true
  },
  "include": ["./src/**/*"]
}

配置webpack,支持对Typescript的加载

【前端工程】Typescript的使用

vue文件中用Typescript时注意事项

1、Typescript默认不能识别.vue 文件,所以需要在.d.ts 中声明.vue 模块

declare module '*.vue' {
  import Vue from 'vue'
  export default Vue
}

2、在导入 vue 组件时需要指明 .vue 后缀。

Typescript中没有后缀的文件,会首先被当作为 js 文件,如果 js 文件没有,就会被当作 .ts 文件。

Typescript类型定义方法

type

interface

.d.ts 文件

Typescript为第三方插件定义类型

Typescript类型定义

更多资料:

vue 中使用 Ts

vue 对 Ts 的支持

从 JavaScript 到 TypeScript 6 - Vue 引入 TypeScript

点赞
收藏
评论区
推荐文章
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Souleigh ✨ Souleigh ✨
5年前
TypeScript: 请停止使用 any
当我们开发TypeScript代码时,很可能会遇到any关键字。我们看到的大多数用法都表明我们正在处理TypeScript中的基本类型。在文档中我们可能会找到:(…)来不使用TypeScript或第3方库编写的代码的值。在这些情况下,我们可能要选择退出类型检查。为此,我们将这些值标记为any类型:什么是any因此any
爱丽丝13 爱丽丝13
4年前
TypeScript 4.2 有哪些新特性
TypeScript4.2发布了!对于不熟悉TypeScript的人来说,TypeScript就是增加了静态类型和类型检查的JavaScript。有了类型限制,你就可以精确的表达你的函数需要什么类型的参数以及返回什么类型的结果。同时,利用TypeScript的类型检查,你可以很容易避免一些常见错误,例如拼写错误或者忘记处理null和un
Easter79 Easter79
4年前
TypeScript学习笔记
TypeScript学习笔记TypeScript是JavaScript的超集,任何合法的JS程序都是合法的TypeScript程序TypeScript通过向JavaScript增加可选的静态类型声明来把JavaScript变成强类型程序语言。静态类型声明可约束函数、变量、属性等程序实体。TypeScript语言内
Easter79 Easter79
4年前
TypeScript 教程
TypeScript是一种由微软开发的自由和开源的编程语言。它是JavaScript的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。安德斯·海尔斯伯格,C的首席架构师,已工作于TypeScript的开发。\1\TypeScript扩展了JavaScript的句法,所以任何现有的JavaScript程序可以不
程序员小五 程序员小五
1年前
融云IM干货丨UINI-app支持TypeScript吗?
UINIapp支持TypeScript开发。具体来说,UINIapp允许在项目中使用TypeScript,并提供了相应的类型定义文件。开发者可以通过以下方式进行TypeScript配置:1.项目创建:在HBuilderX中创建项目时,可以在vue或nvue