Nodejs中var http = require("url") 出错了 ,求指点!(找到原因了.关贴!)
Nodejs中var http = require(“url”) 出错了 ,求指点!(找到原因了.关贴!)
初学者,按照例子敲的, http://www.nodebeginner.org/index-zh-cn.html 这个里面的例子.
var http = require(“http”); 而 var url = require(“url”);
function start() { function onRequest(request, response) { var pathname = url.parse(request.url).pathname; console.log(“Request for " + pathname + " received.”); response.writeHead(200, {“Content-Type”: “text/plain”}); response.write(“Hello World”); response.end(); }
http.createServer(onRequest).listen(8888); console.log(“Server has started.”); }
exports.start = start;
而 var url = require(“url”); 这句话出错… node.js没url这个模块? 难道这个url是自定义的模块? 还是新版本没url这个模块了?
求指点一二. 谢谢啊
根据你提供的信息,你在尝试使用 Node.js 的 http 和 url 模块时遇到了问题。具体来说,你将 require("http") 错误地写成了 require("url")。这是导致错误的主要原因。
让我们来修正这个问题,并提供一个正确的示例代码。
正确的代码
// 引入 http 和 url 模块
var http = require('http');
var url = require('url');
// 定义一个处理请求的函数
function onRequest(request, response) {
    // 解析请求的 URL
    var pathname = url.parse(request.url).pathname;
    // 打印日志
    console.log('Request for ' + pathname + ' received.');
    // 设置响应头
    response.writeHead(200, {"Content-Type": "text/plain"});
    // 发送响应数据
    response.write('Hello World');
    // 结束响应
    response.end();
}
// 创建服务器并监听端口 8888
http.createServer(onRequest).listen(8888);
// 打印启动信息
console.log('Server has started.');
问题分析
- 
引入模块:你需要正确引入 Node.js 提供的标准库模块。
http模块用于创建 HTTP 服务器。url模块用于解析 URL 字符串。
 - 
语法错误:你原本的代码中,
require的参数被错误地写成"url",这实际上应该引用http模块。 - 
解析 URL:使用
url.parse方法来解析请求中的 URL 字符串。 - 
发送响应:使用
response.writeHead方法设置响应头,response.write方法发送响应体,最后使用response.end方法结束响应。 
通过以上修正,你应该可以成功运行这段代码,并创建一个简单的 HTTP 服务器。希望这些解释和示例代码能帮助你解决问题。
我参数写错了…关贴…!
在你的代码中,require("url") 和 require("http") 的使用出现了混淆。url 模块确实存在,并且用于处理 URL 字符串。而 http 模块则是用于创建 HTTP 服务器和客户端。
根据你提供的代码片段,以下是修正后的代码:
// 正确引入http模块
var http = require('http');
// 引入url模块
var url = require('url');
function start() {
    function onRequest(request, response) {
        // 使用url模块解析请求URL
        var pathname = url.parse(request.url).pathname;
        console.log('Request for ' + pathname + ' received.');
        response.writeHead(200, {"Content-Type": "text/plain"});
        response.write('Hello World');
        response.end();
    }
    // 创建HTTP服务器
    http.createServer(onRequest).listen(8888);
    console.log('Server has started.');
}
exports.start = start;
解释
- 引入模块:你需要分别引入 
http和url模块。 - 解析URL:使用 
url.parse(request.url)来解析请求中的 URL。 - 创建HTTP服务器:使用 
http.createServer(onRequest)创建一个 HTTP 服务器,并将其绑定到端口 8888。 
这样,你就可以正确地运行你的 Node.js 程序了。确保你没有拼写错误,并且所有模块都已正确定义和引入。
        
      
                    
                  
                    
