Skip to content

安装与运行 👌

安装

建议全局安装

shell
npm i -g typescript

安装好之后,就可以直接使用 tsc 来编译 ts 文件了

编译

我们现在可以创建一个 ts 文件,并将他编译成 js 文件,比如下面简单的代码

js
let str: string = "hello";

但是,就是这么简单的代码,编译之后却会报错。

不用担心,这个错误,并不是我们的错误,原因是默认情况下,TS 会做出下面的几种假设:

  1. 假设当前环境在 DOM 环境中
  2. 如果代码中没有模块化语句,默认代码是全局执行的,所以变量就是全局变量(TS 默认编译目标代码的是 ES3)

要最简单的解决,就是用模块化或者加上 TS 的配置文件,或者tsc命令行的选项参数

tsconfig.json 配置文件

官方配置文件说明地址

如果项目中指定了tsconfig.json文件,运行tsc不需要再指定文件路径地址

json
{
  "compilerOptions": {
    "target": "ES2017", // 编译目标版本
    "lib": ["ES2017", "DOM", "DOM.Iterable"], // 需要引用的类型库
    "outDir": "./dist" // 指定输出目录,如果未指定和对应的.ts文件同目录
  },
  "include": ["src/**/*.ts"] // 指定需要编译的文件或目录
}

使用第三库简化流程

ts-node: 将 ts 代码在内存中完成编译,同时完成运行(不会生成编辑后的文件)

安装:

shell
npm i -g ts-node

运行:

shell
ts-node src/index.ts

为了能够编写的时候同步运行编译,我们可以使用nodemon第三方库来检测文件变化

安装:

全局安装

shell
npm i -g nodemon

运行:

shell
nodemon --exec ts-node src/index.ts

或者本地安装

shell
npm i -D nodemon

运行:

shell
npm nodemon --exec ts-node src/index.ts

当然,我们可以像之前一样,将这个代码放入到package.json的 scripts 属性中

json
"scripts": {
    "start": "nodemon --exec ts-node src/index.ts"
},