在 VS Code 中使用 TypeScript 进行开发和打包的几种方法

embedded/2025/1/24 4:31:05/

在 Visual Studio Code (VSCode) 中高效使用 TypeScript 进行开发和打包,需要结合合理的配置、工具链和开发流程。以下是详细步骤和最佳实践:


1. 环境准备

1.1 安装必要工具
  • Node.js 和 npm: TypeScript 需要 Node.js 环境。建议安装 LTS 版本。

    # 验证安装
    node -v
    npm -v
  • TypeScript 全局安装(可选):

    npm install -g typescript
1.2 VSCode 扩展

安装以下扩展提升开发效率:

  • TypeScript Extension(官方扩展)

  • ESLint(代码规范检查)

  • Prettier(代码格式化)

  • Code Spell Checker(拼写检查)


2. 初始化 TypeScript 项目

2.1 创建项目
mkdir my-ts-project
cd my-ts-project
npm init -y
2.2 安装 TypeScript
npm install typescript @types/node --save-dev
2.3 生成 tsconfig.json
npx tsc --init

修改 tsconfig.json(关键配置):

{"compilerOptions": {"target": "ES2020",       // 编译目标版本"module": "CommonJS",     // 模块系统"outDir": "./dist",       // 输出目录"rootDir": "./src",       // 源码目录"strict": true,           // 启用严格类型检查"esModuleInterop": true,  // 兼容 CommonJS/ESM"sourceMap": true,        // 生成 SourceMap(调试必需)"skipLibCheck": true      // 跳过库类型检查(提升速度)},"include": ["src/**/*"],"exclude": ["node_modules"]
}

3. 开发环境配置

3.1 实时编译与监听

使用 TypeScript 的 --watch 模式自动编译:

npx tsc --watch

或通过 package.json 配置快捷命令:

{"scripts": {"dev": "tsc --watch","build": "tsc"}
}
3.2 结合 ESLint 和 Prettier
  1. 安装依赖

    npm install eslint prettier eslint-config-prettier eslint-plugin-prettier @typescript-eslint/eslint-plugin @typescript-eslint/parser --save-dev
  2. 配置 .eslintrc.json

    {"root": true,"parser": "@typescript-eslint/parser","plugins": ["@typescript-eslint"],"extends": ["eslint:recommended","plugin:@typescript-eslint/recommended","plugin:prettier/recommended"],"rules": {"@typescript-eslint/no-unused-vars": "warn"}
    }
  3. 配置 .prettierrc

    {"semi": true,"singleQuote": true,"trailingComma": "all"
    }

4. 调试 TypeScript

4.1 配置调试器
  1. 在 VSCode 中按 F5 创建 launch.json,选择 Node.js 环境。

  2. 修改配置以支持 TypeScript:

    {"version": "0.2.0","configurations": [{"type": "node","request": "launch","name": "Debug TS","preLaunchTask": "tsc: build", // 触发编译任务"program": "${workspaceFolder}/src/index.ts","outFiles": ["${workspaceFolder}/dist/**/*.js"],"sourceMaps": true // 启用 SourceMap}]
    }

5. 打包与构建

5.1 使用 tsc 直接编译
npm run build
5.2 使用打包工具
5.2.1 Webpack
  1. 安装依赖

    npm install webpack webpack-cli ts-loader --save-dev
  2. 配置 webpack.config.js

    const path = require('path');module.exports = {entry: './src/index.ts',mode: 'production',module: {rules: [{test: /\.ts$/,use: 'ts-loader',exclude: /node_modules/}]},resolve: {extensions: ['.ts', '.js']},output: {filename: 'bundle.js',path: path.resolve(__dirname, 'dist')}
    };
  3. 运行打包

    npx webpack
5.2.2 Rollup
  1. 安装依赖

    npm install rollup rollup-plugin-typescript2 @rollup/plugin-node-resolve --save-dev
  2. 配置 rollup.config.js

    import typescript from 'rollup-plugin-typescript2';
    import { nodeResolve } from '@rollup/plugin-node-resolve';export default {input: 'src/index.ts',output: {file: 'dist/bundle.js',format: 'cjs'},plugins: [nodeResolve(), typescript()]
    };
  3. 运行打包

    npx rollup -c
5.3 使用现代工具(esbuild/swc)
  • esbuild(极速打包):

    npm install esbuild --save-dev
    
    npx esbuild src/index.ts --bundle --outfile=dist/bundle.js --platform=node

6. 高级优化

6.1 路径别名

在 tsconfig.json 中配置路径别名:

{"compilerOptions": {"baseUrl": ".","paths": {"@/*": ["src/*"]}}
}

同时需在打包工具(如 Webpack/Rollup)中配置对应的别名解析。

6.2 生成声明文件

在 tsconfig.json 中启用声明文件生成:

{"compilerOptions": {"declaration": true,"declarationDir": "types"}
}

7. 项目结构建议

my-ts-project/
├── src/
│   ├── index.ts
│   └── utils/
│       └── helper.ts
├── dist/
├── types/
├── node_modules/
├── tsconfig.json
├── package.json
└── .eslintrc.json

8. 推荐工作流

  1. 使用 tsc --watch 或 ts-node-dev 实时编译和运行。

  2. 通过 ESLint 和 Prettier 保持代码规范。

  3. 使用 Webpack/Rollup 进行生产打包。

  4. 结合 npm scripts 管理常用命令:

    {"scripts": {"dev": "tsc --watch","build": "tsc","lint": "eslint src --ext .ts","bundle": "webpack --mode production"}
    }

通过以上配置和工具链,可以在 VSCode 中高效开发、调试和打包 TypeScript 项目。


http://www.ppmy.cn/embedded/156469.html

相关文章

cuda + cudnn安装

1.安装CUDA Toolkit 在设备管理器(此电脑–右键–属性)的显示适配器中可以查看自己的显卡型号,去下载对应的CUDA Toolkit 。或者输入以下命令查看Driver Version ,cuda Version:12.2代表12.2版本以下兼容可以进行安装 …

Django 的 `Meta` 类和外键的使用

Django 的 Meta 类和外键的使用 1. Meta 类的常用选项2. 外键(ForeignKey)字段的使用2.1 基本用法2.2 ForeignKey 参数2.3 外键删除选项(on_delete) 3. 外键和查询3.1 获取作者的所有书籍3.2 通过书籍查找作者3.3 使用 select_rel…

C语言--数据在内存中的存储

数据在内存中的存储 主要研究整型和浮点型在内存中的存储。 1. 整数在内存中的存储 在学习操作符的时候,就了解过了下面的内容: 整数的2进制表示方法有三种,即原码、反码和补码。 有符号的整数,三种表示方法均有符号位和数值…

【深度学习】常见模型-卷积神经网络(Convolutional Neural Networks, CNN)

卷积神经网络(CNN) 概念简介 卷积神经网络(Convolutional Neural Networks, CNN)是一种专门用于处理数据具有网格状拓扑结构(如图像、语音)的深度学习模型。它通过卷积操作从输入数据中提取局部特征&…

Langchain+FastApi+Vue前后端Ai对话(超详细)

一、引入 首先可以先看下作者的文章 FastApi相关文章:创建最简单FastApi的项目Vue相关文章:最简单的aixos二次封装Langchain相关文章:如何使用LangSmith跟踪deepseek模型 二、后端搭建 1 项目文件结构 routers:存放api接口se…

设计模式:责任链模式——行为型模式

目录 主要角色 优点 缺点 适用场景 示例代码 普通写法: 策略模式: 总结对比 责任链模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许多个对象有机会处理请求,从而避免请求发送者与…

在Windows/Linux/MacOS C++程序中打印崩溃调用栈和局部变量信息

打印崩溃调用栈和局部变量信息的方法有所不同。以下是针对 Windows、Linux 和 MacOS 的示例代码。 Windows 在 Windows 上&#xff0c;可以使用 Windows API 来捕获异常并打印调用栈。 #include <windows.h> #include <DbgHelp.h> #include <stdio.h> #in…

mac配置stable diffusion以及模型出图优化

1. 基础stable diffusion webui安装 使用的工程是stable-diffusion-webui&#xff0c;直接clone下来即可。 然后创建一个conda环境&#xff0c;python为3.9 激活conda环境后&#xff0c;执行./webui.sh即可。脚本会自动安装必要的包&#xff0c;然后启动网页。 默认有一个sd…