2017-08-02 4 views
1

J'ai essayé d'utiliser le module url pour le noeud js décrit ici: https://nodejs.org/api/url.html#url_url, mais je n'arrive pas à obtenir les exemples simples pour fonctionner. Je voudrais être en mesure de construire une url, mais avec le code suivant,URL n'est pas une fonction node.js

const URL = require('url'); 
const apiUrl = new URL('myapi.com/'); 
apiUrl.searchParams.set('tickers', tickers); 
console.log(apiUrl.href); 

Je INTRODUISE l'erreur que l'URL est pas une fonction. Je l'ai essayé avec l'autre façon dont le site suggère l'initialisation URL aussi, comme

const { URL } = require('url'); 

Mais cela provoque des erreurs de syntaxe sur la première console ouverte. Comment puis-je utiliser le module url pour manipuler les URL?

Edit:

À la lumière de la suggestion de MinusFour, je suis maintenant ici:

const URL = require('url').Url; 
const apiUrl = new URL('myapi.com/'); 
console.log(apiUrl); 
apiUrl.search = 'tickers=[\'msft\']'; 
console.log(apiUrl.href); 

Cela ne compiler et exécuter sans lancer une erreur, mais les journaux

Url { 
    protocol: null, 
    slashes: null, 
    auth: null, 
    host: null, 
    port: null, 
    hostname: null, 
    hash: null, 
    search: null, 
    query: null, 
    pathname: null, 
    path: null, 
    href: null } 
null 

Ce qui n'est pas vraiment ce que j'avais espéré.

+0

"Mais cela provoque des erreurs de syntaxe sur le premier crochet ouvert." C'est parce que vous utilisez une ancienne version de node.js. Voir https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment – undefined

Répondre

2

Il est une propriété du module:

const URL = require('url').URL; 
0

Si vous utilisez 6.x Node alors vous devez utiliser URl.pasre à la place.