现代 JavaScript 开发通常受益于将 Node.js 与 TypeScript 结合使用,利用其类型安全性和增强的工具来实现可扩展性。 通过集成强大的捆绑器、测试框架和自动重新加载,这一点得到了进一步放大。 本文将指导您使用 TypeScript、Rollup、Jest 和 Nodemon 设置 Node.js 项目,以获得简化的开发体验。
使用 TypeScript 配置 Node.js 项目可能很复杂,涉及多种工具和配置。 这通常会导致繁琐的工作流程。 本文介绍了一种使用最新工具的简化方法,解决了常见的设置挑战:
.js
扩展名。此配置简化了开发流程,使其更加高效且易于维护。
开始之前,请确保您已:
让我们使用 TypeScript 创建一个基本的 Node.js 项目:
项目目录: 创建一个新的项目目录并导航到它:
<code class="language-bash">mkdir my-ts-app cd my-ts-app</code>
包初始化: 初始化 package.json
文件:
<code class="language-bash">npm init -y</code>
依赖安装: 安装所需的依赖:
<code class="language-bash">npm install --save-dev typescript ts-node @types/node tslib ts-jest rollup rollup-plugin-esbuild nodemon jest @rollup/plugin-node-resolve @rollup/plugin-commonjs</code>
TypeScript 配置 (tsconfig.json
): 为 Node.js 环境配置 TypeScript:
<code class="language-json">{ "compilerOptions": { "target": "ESNext", "module": "ESNext", "outDir": "./dist", "strict": true, "esModuleInterop": true, "moduleResolution": "node", "skipLibCheck": true, "resolveJsonModule": true, "declaration": true, "sourceMap": true }, "include": ["src/**/*"], "exclude": ["node_modules", "dist", "tests"] }</code>
Rollup 配置 (rollup.config.js
): 为生产版本配置 Rollup:
<code class="language-javascript">import resolve from '@rollup/plugin-node-resolve'; import commonjs from '@rollup/plugin-commonjs'; import esbuild from 'rollup-plugin-esbuild'; export default { input: './src/index.ts', output: { dir: 'dist', format: 'esm', sourcemap: true, banner: '#!/usr/bin/env node' }, plugins: [ resolve(), commonjs(), esbuild({ target: 'esnext', sourceMap: true, minify: true }) ] };</code>
Jest 配置 (jest.config.js
): 配置 Jest 进行测试:
<code class="language-javascript">/** @type {import('ts-jest').JestConfigWithTsJest} **/ export default { testEnvironment: "node", transform: { "^.+.tsx?$": ["ts-jest",{}] } };</code>
Nodemon 配置 (nodemon.json
): 配置 Nodemon 自动重新加载:
<code class="language-json">{ "watch": ["src"], "ext": "ts,json", "ignore": ["src/**/*.spec.ts"], "exec": "npm start" }</code>
创建源文件: 创建 src/index.ts
和 src/functions/addition.ts
(原始提示中提供的示例文件)。
创建测试文件: 创建测试文件(例如 tests/functions/addition.spec.ts
)。
>项目结构:
npm run build
运行:npm start
开发(带有自动弹奏):npm run dev
npm test
以上是包含 Rollup、Jest 和 Nodemon 的完整 Node.js TypeScript 设置的详细内容。更多信息请关注PHP中文网其他相关文章!