Maison > interface Web > js tutoriel > Une configuration complète de Node.js TypeScript avec Rollup, Jest et Nodemon

Une configuration complète de Node.js TypeScript avec Rollup, Jest et Nodemon

DDD
Libérer: 2025-01-25 22:31:11
original
927 Les gens l'ont consulté

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

Le développement de JavaScript moderne bénéficie souvent de l'utilisation de Node.js avec TypeScript, tirant parti de sa sécurité de type et de son outillage amélioré pour l'évolutivité. Ceci est en outre amplifié en intégrant un bundler robuste, un cadre de test et un rechargement automatique. Cet article vous guide en créant un projet Node.js avec TypeScript, Rollup, Jest et Nodemon pour une expérience de développement rationalisée.

Simplifier la configuration de type Node.js

La configuration d'un projet Node.js avec TypeScript peut être complexe, impliquant plusieurs outils et configurations. Cela conduit souvent à un flux de travail lourd. Cet article présente une approche simplifiée en utilisant les derniers outils, résolvant les défis de configuration courants:

  • TypeScript: Fournit la sécurité de type.
  • Rollup (avec esbuild): un bundler rapide et efficace.
  • Jest: un cadre de test complet.
  • NODEMON: Permet le rechargement automatique de l'application pendant le développement.
  • Imports simplifiés: élimine la nécessité de spécifier .js extensions dans les instructions d'importation.

Cette configuration rationalise le processus de développement, le rendant plus efficace et maintenable.

Début: Prérequis

Avant de commencer, assurez-vous d'avoir:

  • node.js installé.
  • Une compréhension fondamentale de TypeScript et Node.js.

Configuration du projet: un guide étape par étape

Créons un projet Node.js de base avec TypeScript:

  1. Répertoire de projet: Créez un nouveau répertoire de projet et passez-y:

    <code class="language-bash">mkdir my-ts-app
    cd my-ts-app</code>
    Copier après la connexion
  2. Initialisation du package: Initialiser un fichier package.json:

    <code class="language-bash">npm init -y</code>
    Copier après la connexion
  3. Installation de dépendance: Installez les dépendances requises:

    <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>
    Copier après la connexion
  4. Configuration de type TypeScript (tsconfig.json): Configurer TypeScript pour l'environnement Node.js:

    <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>
    Copier après la connexion
  5. Configuration ROLUP (rollup.config.js): Configurer Rollup pour les builds de production:

    <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>
    Copier après la connexion
  6. Configuration de la plaisanterie (jest.config.js): Configurer la plaisanterie pour les tests:

    <code class="language-javascript">/** @type {import('ts-jest').JestConfigWithTsJest} **/
    export default {
      testEnvironment: "node",
      transform: {
        "^.+.tsx?$": ["ts-jest",{}]
      }
    };</code>
    Copier après la connexion
  7. Configuration NODEMON (nodemon.json): Configurer NODEMON pour le rechargement automatique:

    <code class="language-json">{
      "watch": ["src"],
      "ext": "ts,json",
      "ignore": ["src/**/*.spec.ts"],
      "exec": "npm start"
    }</code>
    Copier après la connexion
  8. Créer des fichiers source: Créer src/index.ts et src/functions/addition.ts (exemple de fichiers fournis dans l'invite d'origine).

  9. Créer des fichiers de test: Créer des fichiers de test (par exemple, tests/functions/addition.spec.ts).

  10. Structure du projet : Votre projet doit avoir une structure similaire à celle décrite dans l'invite d'origine.

Exécuter l'application

  1. Construire : npm run build
  2. Exécuter : npm start
  3. Développer (avec rechargement automatique) : npm run dev
  4. Test : npm test

Conclusion

Cette configuration fournit un environnement rationalisé et efficace pour développer des applications Node.js avec TypeScript. N'oubliez pas d'ajuster les configurations pour répondre aux besoins spécifiques de votre projet. Il s'agit d'une base pour créer des applications robustes et évolutives.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal