不能在Node.js上使用URL模块,不能调用未定义的方法“parse”
我试图从URL中获取参数,例如:
http://localhost:8888/?name=test
要获得name
参数,我看到了一些使用url
模块的示例:
var url = require('url'); var urlParts = url.parse(request.url, true); var query = urlParts.query;
所以,首先我运行这个命令npm install url
,也依赖于package.json
文件,但我总是得到这个错误:
TypeError: Cannot call method 'parse' of undefined at C:\Users\Administrator\git\test\app.js:28:7
以前有人遇到这个问题吗?
我发现这个问题,我有这样的代码:
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);
而url
对象在createServer
函数里面是不可访问的(不知道为什么),所以我只是把这行代替了:
var urlParts = url.parse(request.url, true);
有了这个:
var url_urlParts = require('url').parse(request.url, true);
现在工作正常。
这一点也是我 – 我的问题是, url.parse
与本地var url
冲突。 我解决了这个问题:
import { parse as urlparse } from 'url' var url = 'https://localhost:80' var parsed_url = urlparse(url)
感谢@loganfsmyth的洞察力!