nodejs抓取动态网页( 你眼中的JavaScript是干什么?特效?or只是与客户端的交互?)

优采云 发布时间: 2022-01-04 07:14

  nodejs抓取动态网页(

你眼中的JavaScript是干什么?特效?or只是与客户端的交互?)

  在nodejs中实现路由功能

  更新时间:2014年12月29日08:55:07 投稿:俊杰

  本文文章主要介绍nodejs中的路由功能。顾名思义,路由是指我们必须以不同的方式处理不同的 URL。本文将教你在node.js中实现路由功能。有需要的朋友可以参考

  一个 Node 初学者,我发现了一个与我之前的观点完全不同的场景——JavaScript 在你眼中的目的是什么?特殊效果?还是只是与客户的互动?可以说 JavaScript 最初是在浏览器中运行的,但如果你这样想,浏览器只是提供了一个上下文(context),它定义了你可以用 JavaScript 做什么。这可以被认为是一个类似的企业,企业定义了你在这里可以做什么,但并没有多说 JavaScript 语言本身可以做什么。事实上,作为一门完整的语言,JavaScript 可以用在不同的上下文中,体现出不同的能力。这里提到的Nodejs其实就是提供一个上下文,一个运行环境,让JavaScript代码可以在后端(浏览器环境之外)运行。

  路由的核心是路由。顾名思义,路由就是我们要以不同的方式处理不同的URL,比如处理/启动业务逻辑,处理/上传模块业务;逻辑不一致。在实际实现中,路由过程会在路由模块中“结束”,而路由模块并不是真正对请求“采取行动”的模块,否则当我们的应用变得更复杂时,它就无法使用了。非常好的扩展。

  这里我们首先创建一个名为 requestHandlers 的模块,并为每个请求处理程序添加一个占位符函数:

  复制代码代码如下:

  函数开始(){

  console.log("请求处理程序'start'被调用。");

  函数睡眠(毫秒){

  var startTime=new Date().getTime();

  while(new Date().getTime() }

  睡眠(10000);

  return "Hello Start";

  }

  函数上传(){

  console.log("请求处理程序'上传'被调用。");

  返回“你好上传”;

  }

  exports.start=start;

  exports.upload=upload;

  这样,我们就可以连接请求处理程序和路由模块,让路由“有路径可走”。之后,我们决定通过一个对象传递一系列请求处理程序,我们需要使用松耦合将这个对象注入到router()函数中,主文件index.js:

  复制代码代码如下:

  var server=require("./server");

  var router=require("./router");

  var requestHandlers=require("./requestHandlers");

  var handle={};

  handle["/"]=requestHandlers.start;

  handle["/start"]=requestHandlers.start;

  handle["/upload"]=requestHandlers.upload;

  server.start(router.route,handle);

  如上所示,很容易将不同的 URL 映射到同一个请求处理程序:只需在对象中添加一个键为“/”的属性,对应 requestHandlers.start。这样,我们就可以简洁地配置 /start 和 / 由 start 处理程序处理的请求。完成查看对象的定义后,我们将其作为附加参数传递给服务器,参见server.js:

  复制代码代码如下:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线