首页 > web前端 > js教程 > 包含 Rollup、Jest 和 Nodemon 的完整 Node.js TypeScript 设置

包含 Rollup、Jest 和 Nodemon 的完整 Node.js TypeScript 设置

DDD
发布: 2025-01-25 22:31:11
原创
927 人浏览过

A Complete Node.js   TypeScript Setup with Rollup, Jest, and Nodemon

现代 JavaScript 开发通常受益于将 Node.js 与 TypeScript 结合使用,利用其类型安全性和增强的工具来实现可扩展性。 通过集成强大的捆绑器、测试框架和自动重新加载,这一点得到了进一步放大。 本文将指导您使用 TypeScript、Rollup、Jest 和 Nodemon 设置 Node.js 项目,以获得简化的开发体验。

简化 Node.js TypeScript 设置

使用 TypeScript 配置 Node.js 项目可能很复杂,涉及多种工具和配置。 这通常会导致繁琐的工作流程。 本文介绍了一种使用最新工具的简化方法,解决了常见的设置挑战:

  • TypeScript: 提供类型安全。
  • Rollup(使用 esbuild): 快速高效的捆绑器。
  • 笑话:一个全面的测试框架。
  • Nodemon: 在开发过程中启用自动应用程序重新加载。
  • 简化导入: 无需在导入语句中指定 .js 扩展名。

此配置简化了开发流程,使其更加高效且易于维护。

入门:先决条件

开始之前,请确保您已:

  • 已安装 Node.js。
  • 对 TypeScript 和 Node.js 有基本了解。

项目设置:分步指南

让我们使用 TypeScript 创建一个基本的 Node.js 项目:

  1. 项目目录: 创建一个新的项目目录并导航到它:

    <code class="language-bash">mkdir my-ts-app
    cd my-ts-app</code>
    登录后复制
  2. 包初始化: 初始化 package.json 文件:

    <code class="language-bash">npm init -y</code>
    登录后复制
  3. 依赖安装: 安装所需的依赖:

    <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>
    登录后复制
  4. 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>
    登录后复制
  5. 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>
    登录后复制
  6. Jest 配置 (jest.config.js): 配置 Jest 进行测试:

    <code class="language-javascript">/** @type {import('ts-jest').JestConfigWithTsJest} **/
    export default {
      testEnvironment: "node",
      transform: {
        "^.+.tsx?$": ["ts-jest",{}]
      }
    };</code>
    登录后复制
  7. Nodemon 配置 (nodemon.json): 配置 Nodemon 自动重新加载:

    <code class="language-json">{
      "watch": ["src"],
      "ext": "ts,json",
      "ignore": ["src/**/*.spec.ts"],
      "exec": "npm start"
    }</code>
    登录后复制
  8. 创建源文件: 创建 src/index.tssrc/functions/addition.ts(原始提示中提供的示例文件)。

  9. 创建测试文件: 创建测试文件(例如 tests/functions/addition.spec.ts)。

  10. >项目结构:您的项目应具有类似于原始提示中概述的结构。

    运行应用程序

构建:
  1. npm run build运行:
  2. npm start开发(带有自动弹奏):
  3. > npm run dev
  4. 测试:
  5. npm test
  6. 结论

>此设置为使用Typescript开发Node.js应用程序提供了一个简化且有效的环境。 请记住调整配置以满足您的特定项目需求。 这是构建强大可扩展应用程序的基础。

>

以上是包含 Rollup、Jest 和 Nodemon 的完整 Node.js TypeScript 设置的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板