vscode安装配置、运行typescript

安装nodejs

官网下载即可。安装后需执行以下命令验证安装是否成功。

node -v

安装ts编译器

vscode虽然支持typescript语言,但是不包含typescript编译器tsc,因此需要安装typescript编译器,以便将typescript源代码转为Javascript文件。

 

安装typescript编译器有两种方式,一种是全局安装,一种是项目中安装。二者各有优缺点,根据实际需要任选其一即可。

全局安装:

优点:

  • 方便全局调用,无需在每个项目中重复安装。

缺点:

  • 不同项目可能依赖不同版本的 TypeScript,全局安装可能导致版本冲突。
  • 不利于团队协作,因为其他开发者可能使用不同版本。

项目内安装

优点

  • 每个项目可以独立管理依赖版本,避免冲突。
  • 适合团队协作,确保开发环境一致。

缺点

  • 需要在每个项目中重复安装。
  • 无法直接在命令行中全局调用。

 

  1. 安装
#若全局安装,打开cmd窗口,执行以下命令
npm install typescript -g

#若项目安装,则先进入项目根目录,然后执行以下命令
npm install typescript --save-dev
  1. 验证安装是否成功,输入如下命令,返回信息出现版本号则代表安装成功。
tsc --version

创建ts文件

在vscode中创建ts文件,输入ts代码

let message: string = 'Hello World';
console.log(message);

编译ts

使用tsc命令,将ts文件编译为js文件。

  1. 在vscode中进入ts文件根目录执行以下命令
tsc index.ts

执行命令后,项目目录下将会生成一个编译后的同名的Javascript文件。

 

注意:若出现红色报错提示“无法加载文件xxxxxx,因为在此系统上禁止运行脚本。xxxxxx”,则在vscode终端中先执行以下命令,然后再执行tsc命令。

set-ExecutionPolicy RemoteSigned

运行js文件

将ts文件编译为js文件后,可执行以下命令运行js文件(注意,只能使用此命令运行js文件,不能直接运行ts文件)

node index.js

可以看到终端显示了打印的信息。

 

运行ts文件

如果不想每次运行都编译生成js,然后运行js,想直接运行ts文件,可以采用以下方式。

和ts编译器一样,同样有两种安装方式,一种是全局安装,一种是项目中安装。二者各有优缺点,根据实际需要任选其一即可。

#若全局安装,打开cmd窗口,执行以下命令
npm install -g ts-node

#若项目安装,则在项目根目录中执行以下命令
npm install --save-dev ts-node

 

下面演示在项目中安装ts-node的场景。

  1. 如果需要管理项目的依赖和脚本,则在根目录下执行执行以下命令创建一个默认配置的 package.json 文件。
npm init -y

  1. 安装ts-node
npm install ts-node --save-dev

执行命令后,便会生成 node_modules 目录 和 package-lock.json文件。

  1. 配置TypeScript

执行以下命令生成tsconfig.json文件。

npx tsc --init

可以根据需要对tsconfig.json进行配置。

  1. 运行typescript

在项目根目录下执行如下命令,npx 会在项目的 node_modules 中查找 ts-node 并执行它,同时会传递 demo1/index.ts 作为参数,这样就可以直接运行 TypeScript 文件了。

npx ts-node demo1/index.ts

注:执行命令后报错了,因为typescript编译器是全局安装的,ts-node 在项目中运行时,通常会优先查找项目本地的 typescript 模块。如果没有找到,ts-node 就会报错,即使你在全局安装了 typescript

解决办法:

  1. 在本地项目根目录中安装ts编译器,然后重新运行npx命令即可。
npm install typescript --save-dev

  1. 通过配置让 ts-node 使用全局安装的 typescript 模块(这种方式没试过)

 

总结

建议 typescript 和 ts-node 都在本地项目中安装。

 

 

 

 

 

 

 

 

 

posted @ 2025-03-22 18:19  相遇就是有缘  阅读(483)  评论(0)    收藏  举报