资讯专栏INFORMATION COLUMN

node函数 node路由

Lsnsh / 2940人阅读

摘要:函数中一个函数可以作为另一个函数的参数,即先定义一个函数,然后传递匿名函数这个学过,过路由要为路由提供请求的,和其他需要的的请求。随后,路由会根据需要进行执行响应的代码。

node函数

js中一个函数可以作为另一个函数的参数,即先定义一个函数,然后传递

匿名函数

这个学过,过

node路由

要为路由提供请求的url,和其他需要的get的post请求。
随后,路由会根据需要进行执行响应的代码。
因此,需要根据http请求,从中提取中需要的url和get和post参数

两个模块,url和qureystring模块
http://localhost:8888/start?foo=bar&hello=word

这个url中
url.parse(string).pathname   start
url.parse(string).query    参数部分即问号后面的内容

querystring.parse(queryString)["foo"]    bar内容
querystring.parse(queryString)["hello"]  word内容

这是说明

提取url
var http = require("http");
var url = require("url");

(function start() {    // 创建一个命名空间
    function onRequest(request, response) {
        var pathname = url.parse(request.url).pathname;    // 提取出来url的内容
        console.log(pathname);
        response.writeHead(200, {"Content-Type": "text/plain"});
        response.write("hello word");
        response.end();
    };

    http.createServer(onRequest).listen(1937);
}());

访问连接 http://127.0.0.1:1937/hello%20word.html
http://127.0.0.1:1937/hello%20word
返回消息

PS C:UsersmingmDesktop	est> node main.js
/hello%20word
/favicon.ico
/hello%20word.html
/favicon.ico

两个请求,一个是hello word的请求,由于url不支持空格,所以用%20进行替代,node返回客户端请求的是hello word
favicon.ico是浏览器默认的一个请求,若没有图标文件的缓存都会对服务器请求一个图标文件

编写一个路由
PS C:UsersmingmDesktop	est> node index.js
Server has started.
hello word!
hello word!

文件结构

- test
    router.js
    server.js
    index.js

文件内容

// router.js
function route(pathname) {
    console.log("hello word!");
};

exports.route = route; // 导出方法


// server.js
var http = require("http");
var url = require("url");

function start(route) {
    function onRequest(request, response) {
        var pathname = url.parse(request.url).pathname;

        route(pathname);    // 使用route的js模块(已经在router.js文件导出)传入的参数的值为pathname
        
        response.writeHead(200, {"Content-Type": "text/html"});
        response.write("");
        response.write("Hello word! hello word!");
        response.end();
    };

    http.createServer(onRequest).listen(1937);
      console.log("Server has started.");
};

exports.start = start;



// index.js
var server = require("./server");
var router = require("./router");

server.start(router.route);

访问结果

http://127.0.0.1:1937/
Hello word! hello word!
个人博客

www.iming.info

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/96280.html

相关文章

  • SPA 路由记忆

    摘要:路由记忆名词解释在中后台系统开发中,访问任何页面时,认证是永远绕不过的槛。这个过程,暂且称之为路由记忆,前面例子中的登录页面称之为记忆节点。 SPA 路由记忆 名词解释 在中后台系统开发中,访问任何页面时,认证是永远绕不过的槛。以登录为例,如果检测出当前用户未登录,会强制跳转到登录页面提示用户进行登录。登录完成后,系统需要跳转至用户原先想访问的页面。这个过程,暂且称之为路由记忆,前面例...

    starsfun 评论0 收藏0
  • Node.js 系列:原生 Node.js 应用

    摘要:原生应用是一个基于引擎的运行环境使用了一个事件驱动非阻塞式的模型,使其轻量又高效的包管理器,是全球最大的开源库生态系统本文主要介绍构建一个应用的基本步骤和模块,并假定你已经对有一定的了解本文引用部分代码作为例子,如果希望参看全部源码,欢迎去 原生 Node.js 应用 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境Node.js 使用了一个事件驱...

    Ocean 评论0 收藏0
  • Node.js原生开发入门完全教程

    摘要:原生开发入门完全教程微信公众号开发企业级产品全栈开发速成周末班首期班号正式开班,欢迎抢座一关于本篇文章参考了入门并从零到壹操作了一遍,感谢原作者,同时也强烈推荐大家移步到原文给予原文作者一个赞赏支持。 Node.js原生开发入门完全教程 (Node+Vue+React+微信公众号开发)企业级产品全栈开发速成周末班首期班(10.28号正式开班,欢迎抢座) 一、关于 本篇文章参考了Node...

    alphahans 评论0 收藏0
  • Express 实战(一):概览

    摘要:一个标准性的事件就是年的横空出世。引擎快速处理能力和异步编程风格,让开发者从多线程中解脱了出来。其次,通过异步编程范式将其高并发的能力发挥的淋漓尽致。它也仅仅是一个处理请求并作出响应的函数,并无任何特殊之处。 showImg(https://segmentfault.com/img/remote/1460000010819116); 在正式学习 Express 内容之前,我们有必要从大...

    zhaochunqi 评论0 收藏0
  • Node入门

    摘要:我们给某个方法传递了一个函数,这个方法在有相应事件发生时调用这个函数来进行回调。当回调启动,我们的函数被触发的时候,有两个参数被传入和。最后,我们调用完成响应。创建文件并写入以下内容好了。 我们来把目标设定得简单点,不过也要够实际才行: 用户可以通过浏览器使用我们的应用。当用户请求http://domain/start时,可以看到一个欢迎页面,页面上有一个文件上传的表单。 我们来分解...

    姘搁『 评论0 收藏0

发表评论

0条评论

Lsnsh

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<