Maison  >  Article  >  interface Web  >  Utilisation de TypeDoc dans @vercel/edge

Utilisation de TypeDoc dans @vercel/edge

DDD
DDDoriginal
2024-10-17 06:31:02315parcourir

Dans cet article, nous analysons l'utilisation de TypeDoc dans le package @vercel/edge.

J'ai trouvé un fichier nommé typedoc.json, je me suis demandé ce qu'était TypeDoc et une recherche rapide sur Google m'a aidé à trouver le site Web TypeDoc.

Alors, qu’est-ce que TypeDoc ?

TypeDoc usage in @vercel/edge

TypeDoc

TypeDoc convertit les commentaires du code source TypeScript en documentation HTML rendue ou en modèle JSON. Il est extensible et prend en charge une variété de configurations. Disponible sous forme de module CLI ou Node.

La documentation TypeDoc est complète. Concentrons-nous maintenant sur la façon dont cela est utilisé dans @vercel/edge.

configuration typedoc.json dans @vercel/edge :

Le code ci-dessous est extrait de packages/edge/typedoc.json.

{
 "$schema": "https://typedoc.org/schema.json",
 "entryPoints": ["src/index.ts"],
 "plugin": ["typedoc-plugin-markdown", "typedoc-plugin-mdn-links"],
 "out": "docs",
 "githubPages": false,
 "gitRevision": "main",
 "readme": "none",
 "hideBreadcrumbs": true
}

Vous avez besoin de cette configuration lorsque vous utilisez CLI pour exécuter TypeDoc.

Faites attention à la valeur « out », c'est « docs », c'est une bonne chose que nous ayons déjà des docs générés pour le package @vercel/edge

Interface ModifiedRequest :

Choisissons l'interface ModifiedRequest trouvée dans middleware-helpers.ts

export interface ModifiedRequest {
 /**
 * If set, overwrites the incoming headers to the origin request.
 *
 * This is useful when you want to pass data between a Middleware and a
 * Serverless or Edge Function.
 *
 * @example
 * <caption>Add a `x-user-id` header and remove the `Authorization` header</caption>
 *
 * ```

ts
 * import { rewrite } from '@vercel/edge';
 * export default async function middleware(request: Request): Promise<Response> {
 * const newHeaders = new Headers(request.headers);
 * newHeaders.set('x-user-id', 'user_123');
 * newHeaders.delete('authorization');
 * return rewrite(request.url, {
 * request: { headers: newHeaders }
 * })
 * }
 *

*/
en-têtes ? : En-têtes ;
>



This interface has a comment added that is picked by TypeDoc and is made available in docs at [edge/docs/interfaces/ModifiedRequest.md](https://github.com/vercel/vercel/blob/main/packages/edge/docs/interfaces/ModifiedRequest.md)

But what’s the command this package uses to initiate documentation generation? It can be found in [package.json](https://github.com/vercel/vercel/blob/main/packages/edge/package.json#L19)



```plaintext
"build:docs": "typedoc && node scripts/fix-links.js && prettier - write docs/**/*.md docs/*.md",

Vous pouvez voir que plus joli est appliqué dans le dossier docs.

À propos de nous :

Chez Think Throo, nous avons pour mission d'enseigner les concepts architecturaux avancés de base de code utilisés dans les projets open source.

10x vos compétences en codage en pratiquant des concepts architecturaux avancés dans Next.js/React, apprenez les meilleures pratiques et construisez des projets de niveau production.

Nous sommes open source — https://github.com/thinkthroo/thinkthroo (Donnez-nous une étoile !)

Nous fournissons également des services de développement Web et de rédaction technique. Contactez-nous à hello@thinkthroo.com pour en savoir plus !

Références :

  1. https://github.com/vercel/vercel/blob/main/packages/edge/typedoc.jso

  2. https://github.com/TypeStrong/typedoc

  3. https://typedoc.org/

  4. https://github.com/vercel/vercel/blob/main/packages/edge/docs

  5. https://github.com/vercel/vercel/blob/main/packages/edge/docs/interfaces/ModifiedRequest.md

  6. https://github.com/vercel/vercel/blob/main/packages/edge/src/middleware-helpers.ts#L1

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!

Déclaration:
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