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.
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:
.js
extensions dans les instructions d'importation. Cette configuration rationalise le processus de développement, le rendant plus efficace et maintenable.
Avant de commencer, assurez-vous d'avoir:
Créons un projet Node.js de base avec TypeScript:
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>
Initialisation du package: Initialiser un fichier package.json
:
<code class="language-bash">npm init -y</code>
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>
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>
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>
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>
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>
Créer des fichiers source: Créer src/index.ts
et src/functions/addition.ts
(exemple de fichiers fournis dans l'invite d'origine).
Créer des fichiers de test: Créer des fichiers de test (par exemple, tests/functions/addition.spec.ts
).
Structure du projet : Votre projet doit avoir une structure similaire à celle décrite dans l'invite d'origine.
npm run build
npm start
npm run dev
npm test
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!