Impossible d’utiliser le module d’URL sur Node.js, impossible d’appeler la méthode ‘parse’ de non définie

J’essaie d’obtenir des parameters à partir d’une URL, par exemple:

http://localhost:8888/?name=test 

Pour obtenir le paramètre name , j’ai vu des exemples d’utilisation du module url comme ceci:

 var url = require('url'); var urlParts = url.parse(request.url, true); var query = urlParts.query; 

Donc, d’abord, j’ai exécuté cette commande, l’ npm install url , la dépendance dépend également du fichier package.json , mais j’obtiens toujours l’erreur suivante:

 TypeError: Cannot call method 'parse' of undefined at C:\Users\Administrator\git\test\app.js:28:7 

Quelqu’un a déjà fait face à ce problème?

J’ai trouvé le problème, j’ai eu le code comme ceci:

 var http = require("http"); var url = require('url'); http.createServer(function(request, response) { var urlParts = url.parse(request.url, true); var query = urlParts.query; }).listen(appport); 

Et l’object url n’était pas accessible dans la fonction createServer ( createServer ne sais pas pourquoi), je remplace donc cette ligne:

 var urlParts = url.parse(request.url, true); 

avec ça:

 var url_urlParts = require('url').parse(request.url, true); 

et maintenant fonctionne bien.

Celui-ci m’a mordu aussi – mon problème était que url.parse était en conflit avec une url var locale. Je l’ai résolu comme ça:

 import { parse as urlparse } from 'url' var url = 'https://localhost:80' var parsed_url = urlparse(url) 

Merci @loganfsmyth pour la perspicacité!