whatwg-url vs url-parse vs url vs query-string vs url-search-params
Comparaison des packages npm "Analyse et Manipulation des URL"
1 An
whatwg-urlurl-parseurlquery-stringurl-search-paramsPackages similaires:
Qu'est-ce que Analyse et Manipulation des URL ?

Les bibliothèques d'analyse et de manipulation des URL en JavaScript fournissent des outils pour travailler avec les URL de manière efficace. Elles permettent d'analyser, de modifier et de créer des URL, de gérer les paramètres de requête, et d'effectuer des opérations telles que l'encodage et le décodage des composants d'URL. Ces bibliothèques sont essentielles pour le développement web, en particulier pour les applications qui interagissent avec des API, gèrent la navigation ou nécessitent une manipulation dynamique des URL. query-string est une bibliothèque légère et rapide pour analyser et sérialiser les chaînes de requête, tandis que url est un module intégré de Node.js offrant des fonctionnalités complètes pour travailler avec les URL. url-parse est une bibliothèque simple et rapide pour analyser les URL, tandis que url-search-params fournit une interface moderne pour manipuler les paramètres de requête. whatwg-url est une implémentation conforme aux spécifications WHATWG pour travailler avec les URL, offrant une API complète et précise.

Tendance de téléchargements npm
Classement des GitHub Stars
Détail des statistiques
Package
Téléchargements
Stars
Taille
Issues
Publication
Licence
whatwg-url97,313,28840098.6 kB5il y a 5 moisMIT
url-parse28,821,5401,03563 kB13-MIT
url21,519,77338278.3 kB17il y a un anMIT
query-string14,279,6806,87053 kB28il y a un moisMIT
url-search-params60,215761-0il y a 7 ansMIT
Comparaison des fonctionnalités: whatwg-url vs url-parse vs url vs query-string vs url-search-params

Analyse des URL

  • whatwg-url:

    whatwg-url fournit une API complète pour analyser et manipuler les URL, conforme aux spécifications WHATWG. Elle garantit une analyse précise et fournit des méthodes pour travailler avec les composants d'URL.

  • url-parse:

    url-parse fournit une fonction d'analyse simple qui divise les URL en leurs composants. Elle est rapide et efficace, avec un support pour les URL relatives et absolues.

  • url:

    Le module url de Node.js fournit la méthode url.parse() pour analyser les URL et retourner un objet contenant les composants de l'URL, tels que le protocole, l'hôte, le chemin et les paramètres de requête.

  • query-string:

    query-string fournit des fonctions pour analyser les chaînes de requête et extraire les paramètres sous forme d'objet. Elle gère les paramètres encodés et prend en charge les tableaux et les objets imbriqués.

  • url-search-params:

    url-search-params fournit une interface pour accéder et manipuler les paramètres de requête d'une URL. Elle permet d'ajouter, de supprimer et de modifier les paramètres facilement.

Sérialisation des Paramètres de Requête

  • whatwg-url:

    whatwg-url fournit des méthodes pour sérialiser les composants d'URL, y compris les paramètres de requête. Elle garantit une sérialisation conforme aux spécifications.

  • url-parse:

    url-parse permet de sérialiser les paramètres de requête en utilisant la méthode toString() sur l'objet d'analyse. Elle gère l'encodage des paramètres lors de la sérialisation.

  • url:

    Le module url de Node.js fournit la méthode url.format() pour sérialiser les composants d'URL en une chaîne d'URL valide. Cependant, il ne gère pas directement la sérialisation des paramètres de requête.

  • query-string:

    query-string permet de sérialiser les objets en chaînes de requête, en gérant automatiquement l'encodage des caractères spéciaux. Elle prend en charge la sérialisation des tableaux et des objets imbriqués.

  • url-search-params:

    url-search-params fournit une méthode intégrée toString() pour sérialiser les paramètres de requête en une chaîne. Elle gère automatiquement l'encodage des paramètres lors de la sérialisation.

Manipulation des Paramètres de Requête

  • whatwg-url:

    whatwg-url fournit une API complète pour manipuler les composants d'URL, y compris les paramètres de requête. Elle permet une manipulation précise et conforme des paramètres d'URL.

  • url-parse:

    url-parse permet une manipulation simple des paramètres de requête en modifiant directement l'objet d'analyse. Cependant, elle ne fournit pas d'API dédiée pour ajouter ou supprimer des paramètres.

  • url:

    Le module url de Node.js ne fournit pas d'API pour manipuler directement les paramètres de requête. Vous devez les gérer manuellement en modifiant la chaîne de requête de l'URL analysée.

  • query-string:

    query-string permet une manipulation limitée des paramètres de requête, mais ne fournit pas d'API intégrée pour ajouter ou supprimer des paramètres directement. Vous devez le faire manuellement en modifiant l'objet des paramètres.

  • url-search-params:

    url-search-params fournit une API complète pour manipuler les paramètres de requête, y compris des méthodes pour ajouter, supprimer et modifier les paramètres. Elle offre une manipulation facile et intuitive des paramètres d'URL.

Support des URL Relatives

  • whatwg-url:

    whatwg-url prend en charge les URL relatives et absolues, conformément aux spécifications. Elle fournit des méthodes pour travailler avec les URL relatives de manière précise.

  • url-parse:

    url-parse prend en charge les URL relatives et absolues lors de l'analyse. Elle gère correctement les chemins relatifs et les résout en fonction de l'URL de base fournie.

  • url:

    Le module url de Node.js gère les URL relatives et absolues. Il fournit des méthodes pour résoudre les URL relatives par rapport à une URL de base, ce qui est utile pour la manipulation des URL dans les applications.

  • query-string:

    query-string prend en charge l'analyse et la sérialisation des chaînes de requête, qu'elles soient relatives ou absolues. Cependant, elle ne traite pas directement les URL dans leur ensemble.

  • url-search-params:

    url-search-params est conçu pour travailler avec les paramètres de requête, qu'ils soient dans des URL relatives ou absolues. Il n'affecte pas la gestion des URL relatives dans son ensemble.

Exemple de Code

  • whatwg-url:

    Analyse et manipulation des URL avec whatwg-url

    import { URL } from 'whatwg-url';
    
    // Création d'une URL
    const myUrl = new URL('https://example.com/path?name=John#fragment');
    
    // Accès aux composants de l'URL
    console.log(myUrl.protocol); // https:
    console.log(myUrl.hostname); // example.com
    console.log(myUrl.pathname); // /path
    console.log(myUrl.search); // ?name=John
    console.log(myUrl.hash); // #fragment
    
    // Manipulation de l'URL
    myUrl.searchParams.append('age', '30');
    myUrl.hash = 'new-fragment';
    console.log(myUrl.toString()); // https://example.com/path?name=John&age=30#new-fragment
    
  • url-parse:

    Analyse d'URL avec url-parse

    import urlParse from 'url-parse';
    
    // Analyse d'une URL
    const parsedUrl = urlParse('https://example.com/path?name=John#fragment');
    console.log(parsedUrl.protocol); // https:
    console.log(parsedUrl.hostname); // example.com
    console.log(parsedUrl.pathname); // /path
    console.log(parsedUrl.query); // { name: 'John' }
    console.log(parsedUrl.hash); // #fragment
    
    // Manipulation de l'URL
    parsedUrl.set('query', { name: 'Jane', age: 25 });
    console.log(parsedUrl.href); // https://example.com/path?name=Jane&age=25#fragment
    
  • url:

    Analyse et manipulation des URL avec le module url

    const url = require('url');
    
    // Analyse d'une URL
    const myUrl = new URL('https://example.com:8000/path?name=John&age=30#section1');
    console.log(myUrl.hostname); // example.com
    console.log(myUrl.port); // 8000
    console.log(myUrl.pathname); // /path
    console.log(myUrl.search); // ?name=John&age=30
    console.log(myUrl.hash); // #section1
    
    // Manipulation des composants d'URL
    myUrl.pathname = '/new-path';
    myUrl.searchParams.append('city', 'New York');
    console.log(myUrl.toString()); // https://example.com:8000/new-path?name=John&age=30&city=New+York#section1
    
  • query-string:

    Analyse et sérialisation avec query-string

    import queryString from 'query-string';
    
    // Analyse d'une chaîne de requête
    const parsed = queryString.parse('?name=John&age=30&hobbies=reading&hobbies=traveling');
    console.log(parsed);
    // { name: 'John', age: '30', hobbies: ['reading', 'traveling'] }
    
    // Sérialisation d'un objet en chaîne de requête
    const serialized = queryString.stringify({ name: 'Jane', age: 25, hobbies: ['cooking', 'hiking'] });
    console.log(serialized);
    // name=Jane&age=25&hobbies=cooking&hobbies=hiking
    
  • url-search-params:

    Manipulation des paramètres de requête avec url-search-params

    const url = new URL('https://example.com/path?name=John&age=30');
    const searchParams = new URLSearchParams(url.search);
    
    // Accès aux paramètres
    console.log(searchParams.get('name')); // John
    console.log(searchParams.get('age')); // 30
    
    // Ajout de nouveaux paramètres
    searchParams.append('city', 'New York');
    
    // Suppression d'un paramètre
    searchParams.delete('age');
    
    // Sérialisation des paramètres
    console.log(searchParams.toString()); // name=John&city=New+York
    
    // Mise à jour d'un paramètre
    searchParams.set('name', 'Jane');
    console.log(searchParams.toString()); // name=Jane&city=New+York
    
Comment choisir: whatwg-url vs url-parse vs url vs query-string vs url-search-params
  • whatwg-url:

    Choisissez whatwg-url si vous avez besoin d'une implémentation complète et conforme des spécifications URL. Elle est adaptée aux projets qui nécessitent une manipulation précise et conforme des URL.

  • url-parse:

    Choisissez url-parse si vous avez besoin d'une bibliothèque simple et rapide pour analyser les URL. Elle est particulièrement utile pour les projets qui nécessitent une analyse rapide sans fonctionnalités excessives.

  • url:

    Choisissez url si vous travaillez dans un environnement Node.js et avez besoin d'une solution complète pour manipuler les URL. Il fournit des fonctionnalités robustes pour l'analyse, la résolution et la manipulation des URL.

  • query-string:

    Choisissez query-string si vous avez besoin d'une bibliothèque légère et rapide pour analyser et sérialiser les chaînes de requête. Elle est idéale pour les projets où la performance et la simplicité sont essentielles.

  • url-search-params:

    Choisissez url-search-params si vous souhaitez une API moderne et conviviale pour manipuler les paramètres de requête. Elle est idéale pour les applications qui nécessitent une manipulation facile des paramètres d'URL.