位置:首页 » 技术 » NODEJS中的MIDDLEWARE是什么?在ONCEIO中创建和使用中间件

NODEJS中的MIDDLEWARE是什么?在ONCEIO中创建和使用中间件

日期:2016-10-22 阅读:255num
Advertisement

OnceIO是OnceDoc企业内容管理系统的底层Web框架,它可以实现模板文件、静态文件的全缓存,运行起来完全不需要I/O操作,并且支持客户端缓存优化,GZIP压缩等(只在第一次压缩),拥有非常好的性能,为您节约服务器成本。它可以让你对Web进行分布式存储,即一个扩展包里即可包含前端、后端和数据库定义,只需通过添加/删除目录的方式就可实现功能删减,实现真正的模块化扩展。这里是介绍如何使用OnceIO的一系列文章。

OnceIO 是一个自身功能极简,完全由路由、中间件和Handler构成的 web 开发框架:一个 OnceIO 应用本质上就是在调用各种中间件和Handler。

中间件是一个函数,它可以访问请求对象(request object (req)), 响应对象(response object (res)),并将应用的请求-响应循环传向下一个中间件。

一个应用的请求-响应循环如下图所示,由请求对象、响应对象、中间件和 handler 构成:

NODEJS中的MIDDLEWARE是什么?在ONCEIO中创建和使用中间件

Handler 针对请求发出响应,循环终结于此,一个请求-响应循环只会由一个 handler处理;但每个请求在到达 handler 之前会依次经过许多中间件,如Session、Securty(登录认证)、表单解析等都是典型的中间件,NoceJS中的MiddlerWare与Java中的Filter和.NET中的HttpModule概念类似。一个请求-响应循环也可以不经过中间件,比如说静态CSS/JS文件就没有执行Session、认证中间件的必要。

中间件的功能包括:

  • 执行任何代码。
  • 修改请求和响应对象。
  • 终结请求-响应循环。
  • 调用堆栈中的下一个中间件。

如果当前中间件没有终结请求-响应循环,则必须调用 req.filter.next() 将控制权交给下一个中间件,否则请求就会挂起。

下面我们将以 Lesson 1 中简单的 'Hello World' 应用为例,为其增加两个中间件:能在终端输出一条简单消息的 myLogger 和能在网页上显示 HTTP 请求的时间戳的 requestTime.

var onceio = require('../onceio/onceio')
var app = onceio()

app.get('/', function(req, res) {
  res.end('Hello World!')
})

中间件函数 MYLOGGER

myLogger 函数会在 request 经过它时在 console 界面输出“LOGGED”。myLogger 函数的代码如下:

var myLogger = function(req, res) {
  console.log('LOGGED')
  req.filter.next()
}

把 myLogger 添加到应用中:

var onceio = require('../onceio/onceio')
var app = onceio()

var myLogger = function(req, res) {
  console.log('LOGGED')
  req.filter.next()
}

app.use(myLogger)

app.get('/', function(req, res) {
  res.end('Hello World!')
})

每当应用收到请求时,它都会在终端输出“LOGGED”:

NODEJS中的MIDDLEWARE是什么?在ONCEIO中创建和使用中间件

中间件的加载顺序很重要:中间件必须要被首先加载并且被首先执行,否则在请求到达中间件之前请求-响应循环就被终止了,中间件将不被执行。

中间件函数 REQUESTTIME

接下来,我们创建一个叫做 requestTime 的中间件函数:

var requestTime = function(req, res) {
  req.requestTime = Date.now()
  req.filter.next()
}

把 requestTime 添加到应用中:

var onceio = require('../onceio/onceio')
var app = onceio()

var requestTime = function(req, res) {
  req.requestTime = Date.now()
  req.filter.next()
}

app.use(requestTime)

app.get('/', function(req, res) {
  var responseText = 'Hello World!<br>';
  responseText += '<small>Requested at: ' + req.requestTime + '</small>';
  res.send(responseText);
})

每当应用收到请求时,它都会在浏览器显示请求的时间戳:

NODEJS中的MIDDLEWARE是什么?在ONCEIO中创建和使用中间件

我们在这里只演示了两个简单的中间件,事实上中间件的种类和功能非常多样,例如,app.use() 函数可以有多达三个参数:

app.use('/file', function(req, res) {
   var user = req.session.get('user')
   if (!user || !user.username) {
     res.end('No permission')
     return
   }

   res.cache(0)
   req.filter.next()

}, { session: true })

其中第一个参数指定所有以“/file”开头的 URL(发起的请求)都会经过这个中间件;第三个参数指定这个中间件需要session支持。因为onceio的session对象可能是存放在数据库中的,从数据库获取session会有一定的性能损失,所以在设计时您可根据情况,比如说在用户界面、管理后台添加session解析支持。

中间件能访问请求对象、响应对象、堆栈中下一个中间件和整个 OnceIO API,因此它的用法拥有无限的可能性。

相关文章
  • NODEJS中的MIDDLEWARE是什么?在ONCEIO中创建和使用中间件 NODEJS中的MIDDLEWARE是什么?在ONCEIO中创建和使用中间件

    OnceIO是OnceDoc企业内容管理系统的底层Web框架,它可以实现模板文件.静态文件的全缓存,运行起来完全不需要I/O操作,并且支持客户端缓存优化,GZIP压缩等(只在第一次压缩),拥有非常好的性能,为您节约服务器成本.它可以让你对Web进行分布式存储,即一个扩展包里即可包含前端.后端和数据库定义,只需通过添加/删除目录的方式就可实现功能删减,实现真正的模块化扩展.这里是介绍如何使用OnceIO的一系列文章. OnceIO 是一个自身功能极简,完全由路由.中间件和Handler构成的 we

  • 如何在代码中直接获得某个对象在内存中的大小? JavaScript 的 ~

    如何在代码( JS in Node )中直接获得某个对象在内存中的大小? JavaScript 中的对象是否也如 Python 一样,每个变量仅存对象的引用值,多个变量可以共用一个对象? --cut-- ttph1oc在2016-05-09 06:28:48回答到: 1. npmjs.com/package/object-sizeof 2. 是 haozhang在2016-05-09 06:28:48回答到: 2.有哪个面向对象的语言不是这么干的...

  • 印象笔记中的邮件怎么保存到邮箱中? 印象笔记中的邮件怎么保存到邮箱中?

    印象笔记中的邮件怎么保存到邮箱中?不管我们是上班还是上学,电子邮件确实都是绕不过去的一个交流工具,你可以将邮件转到私有邮箱地址,将邮件保存到印象笔记. 1.保存邮件只需要一键发送到一个特殊的地址 印象笔记中的邮件怎么保存到邮箱中?无论是写邮件.还是收到的邮件都可以抄送或者转发到我们的印象笔记私有邮箱:每一个用户都有一个属于自己的独一无二的邮箱地址,而转发或者抄送到这个独一无二的地址之后,这封邮件就会自动出现在我们的默认笔记本中. 2.如何找到自己的印象笔记私有邮箱地址? (1)Mac 客户端:

  • 中望CAD教程第二章:中望CAD设置

    中望CAD教程第二章:中望CAD设置 中望CAD教程之使用缺省设置 当用户单击图2-1所示的启动对话框中的 按钮时,中望CAD 2010将让用户使用缺省的绘图环境开始绘制新图,如图2-4所示.该对话框中的默认设置框中有两个单选框:英制(英尺和英寸),公制(毫米).用户选择其中一项后,单击确定按钮,即可开始绘制新图形.更多>> 中望CAD教程之使用样板图向导 样板图是指包含一定绘图环境,但未绘任何图形的实体文件.使用样板图的特点是不仅可以使用它所定义的绘图环境,而且可以使用它所包含的图样数据,以

  • Java中的Timer和TimerTask在Android中的用法

    在开发中我们有时会有这样的需求,即在固定的每隔一段时间执行某一个任务.比如UI上的控件需要随着时间改变,我们可以使用Java为我们提供的计时器的工具类,即Timer和TimerTask. Timer是一个普通的类,其中有几个重要的方法:而TimerTask则是一个抽象类,其中有一个抽象方法run(),类似线程中的run()方法,我们使用Timer创建一个他的对象,然后使用这对象的schedule方法来完成这种间隔的操作. schedule方法有三个参数 第一个参数就是TimerTask类型的对象

  • php中使用gd库实现下载网页中所有图片 php中使用gd库实现下载网页中所有图片

    这篇文章主要介绍了php中使用gd库实现下载网页中所有图片,本文直接给出实现代码,需要的朋友可以参考下 在前期的php教程就讲了php gd库可以实现远程图片的下载,但是那只是下载了一张图片,原理是一样的,要想下载一个网页的所有图片只要使用正则表达式进行判断,找出所有的图片url就可以进行循环下载了,我特地参照网络资源编写了gd库图片下载类! php代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

  • PHP中把错误日志保存在系统日志中 PHP中把错误日志保存在系统日志中

    这篇文章主要介绍了PHP中把错误日志保存在系统日志中(Windows系统),本文讲解了设置方法和查看方法,需要的朋友可以参考下 [将错误记录到系统日志中] 在 php.ini 中将 error_log 设置为: 复制代码 代码如下: error_log = syslog 或者在运行时使用 ini_set() 函数设置. [例1] ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <?php //关闭错误显示 ini_set('display_errors',

  • 中移动改革飞信运营模式 华为中软国际现身竞标

    过去的6年中,中国移动旗下的移动互联网业务飞信取得了让业界羡慕的成绩,与中移动合作的飞信业务独家运营方神州泰岳就曾经赚得盆满钵溢.但随着更多即时通讯移动应用的快速崛起,飞信正失去昔日光芒.现实的竞争压力之下,中移动不得不操刀改革飞信的旧运营模式,引入新的合作伙伴和市场化机制. 新竞标者华为.中软国际 不紧不慢的调整是央字号国企试图扭转被动局面的一贯做法,中移动为应对来自互联网OTT业务的冲击开始计划重构飞信,启动新的飞信服务商招标便是其计划的第一步.根据中移动广东公司发布的最新招标公告显示,中移

  • Win7系统中让垃圾邮件不再进入Outlook中的设置技巧 Win7系统中让垃圾邮件不再进入Outlook中的设置技巧

    Outlook 是 Microsoft 的主打邮件传输和协作客户端产品.它是一种集成到Microsoft Office和ExchangeServer中的独立应用程序.Outlook 还提供与Internet Explorer 5.5的交互和集成.电子邮件.日历和联系人管理等功能的完全集成使得 Outlook 成为许多商业用户眼中完美的客户端. Outlook 可帮助您查找和组织信息,以便您可以无缝地使用 Office 应用程序.这有助于您更有效地交流和共享信息.下面小编给大家介绍Win7系统 (

  • 开机出现服务器正在运行中由于另一个程序正在运行中怎么办? 开机出现服务器正在运行中由于另一个程序正在运行中怎么办?

    为什么开机后就出现"服务器正在运行中由于另一个程序正在运行中,此操作无法完成.请选择"切换到"来激活正在运行中的程序,并更正问题",需要点击多次"切换到"才能使这个对话框消失,电脑也不能进入正常的运行,奇怪了,今天小编就自己的亲身经历来交大家如何解决. 1.crtl+alt+del调用windows任务管理器 2.然后,文件-新建任务运行 3.输入msconfig.msc 4.然后禁用里面的所有开机启动项 5.接着重启一下电脑,启动起来时候就不会

  • 记住, 生活中没有过不去的难关, 生命中也没有离不开的人 记住, 生活中没有过不去的难关, 生命中也没有离不开的人

    你忙,我可以理解-- 你和别人聊天,我也理解- 你聊完了删除所有信息,我依然可以理解-- 可是,万一,有一天我在你的世界消失了--- 那么请你也理解-- 渐渐明白了,太在乎一个人往往会伤害自己: 渐渐明白了,很多爱情是可遇而不可求的: 渐渐明白了,很多东西只能拥有一次,放手了也就意味着失去: 渐渐明白了,最在乎的那个人,往往是最容易让你流泪的: 渐渐明白了,真心对一个人是不需要回报的: 一件事你期望的高了, 你就输了: 一份情你付出的多了, 你就累了: 一个人你等的久了, 你就痛了. 记住, 生

  • 在win7中整理磁盘碎片后文件夹中出现乱码怎么办? 在win7中整理磁盘碎片后文件夹中出现乱码怎么办?

    其实很多朋友都会在电脑操作中涉及到整理磁盘碎片,因为咱们操作电脑的时间越久,那么磁盘中出现的碎片也就相应的越多,久而久之,便会造成磁盘运行变慢,因此,磁盘碎片整理是咱们定期定时需要做的事情,这也是win7旗舰版64位系统下载系统优化的一项重要工作.不过最近却有朋友在执行这项优化工作的时候发现了一个奇怪的现象,什么现象?该网友说,在win7旗舰版中整理磁盘碎片后文件夹中出现乱码,这样会导致磁盘中的很多文件夹都无法正常使用,那么出现这样的问题,我们要如何解决呢?下面,就让小编来详细的介绍一下吧! 1

  • 在DIV CSS的网页中,如果下载用于CSS样式中的背景图片?

    在DIV CSS的网页中,如果下载用于CSS样式中的背景图片?有些背景图片是PNG格式的.我试用过其它一些浏览器,但都只是下载页面中的图片,样式表中的背景图片下载不下来,到页面中直接下载另存为也不行.求助高手给于只招?谢谢了! 最佳答案 大多数显示的背景都可以通过右键-背景另存为保存下来,你存不下来可能有几点原因: 1.鼠标没有点对位置 2.代码结构影响,这就很多种情况了 如果就是存不下来,你可以保存他的样式表,或者查看样式表,结合源文件代码中class或者id引用的样式名,搜索到这个样式,看一

  • php中把session保存到MySQL数据库中示例

    下面这个例子是利用了php中的session_set_save_handler函数保存到数据库中,这个有点像小编写的购物车原理了,下面来看看这个例子,希望对各位有帮助. PHP保存session默认的是采用的文件的方式来保存的,这仅仅在文件的空间开销很小的windows上是可以采用的,但是如果我们采用uinx或者是liux上的文件系统的时候,这样的文件系统的文件空间开销是很大的,然而session是要时时刻刻的使用的,大量的用户就要创建很多的session文件,这样对整个的服务器带来性能问题.

  • php中fgetcsv函数在php5.2.8 中的数据不完整

    本文章来给各位同学介绍一下关于php中fgetcsv函数在php5.2.8 中的数据不完整问题解决办法,希望此文章对各位朋友会有所帮助. 问题解析出来的数据不完整,有为空的字段 网上查了下说是在php5.2.8 中存在bug 解决办法是使用自定义函数 代码如下 复制代码 function __fgetcsv(& $handle, $length = null, $d = ',', $e = '"') { $d = preg_quote($d); $e = preg_quote($e);

  • linux中apache和mysqld加入service系统服务中

    本文章来给各位同学详细介绍linux中apache和mysqld加入service系统服务中具体操作命令,有需要了解的同学不防参考一下 先我们把mysql增加到linux的系统服务中去 mysql: 代码如下 复制代码 cd /usr/local/mysql/share/mysql cp mysql.server /etc/init.d/mysqld chkconfig --add mysqld chkconfig mysqld on service mysqld restart 现在你就可以使

  • WPF中使用定时器 DispatcherTimer 干TCP连接中的心跳 HeartBeat

    WPF中使用定时器 DispatcherTimer 做TCP连接中的心跳 HeartBeat 开发过程中经常遇到定时触发的需求,如:TCP/IP连接中,使用心跳包保持连接或检测连接是否已经中断. WPF中有多种定时器: 1.using System.Windows.Threading; 代码如下: using System.Windows.Threading; public partial class MainWindow : Window { DispatcherTimer timerHear

  • informix存储过程中调用shell的疑问,求解中,先谢了解决办法

    informix存储过程中调用shell的疑问,求解中,先谢了 各位高手,我写了一个informix存储过程,过程中调用一个shell,但是调用时总报错: " System command cannot be executed. 更多例外 ... ISAM error: no primary key " 本人的过程如下: create procedure proc_Interface_k81_test() returning int, int, varchar( 254 ); defi

  • 为什么SQL中的这段程序在VFP中执行不了解决办法 为什么SQL中的这段程序在VFP中执行不了解决办法

    为什么SQL中的这段程序在VFP中执行不了 --cut-- 本帖最后由 dkfdtf 于 2014-05-27 16:07:22 编辑 跟你在查询分析器中运行的命令格式一样就行了 sqlexec(thisform.connhandle, "exec sf_图书借阅") --cut-- 用这个追踪一下嘛

  • Android逆向之旅-Android中怎么获取在非Root设备中获取应用隐私数据 Android逆向之旅-Android中怎么获取在非Root设备中获取应用隐私数据

    Android逆向之旅---Android中如何获取在非Root设备中获取应用隐私数据 一.前言 今天在开发的过程中遇到一个问题,就是关于AndroidManifest.xml中的allowBackup属性,也算是自己之前对这个属性的不了解,加上IDE的自动生成代码,没太注意这个属性,但是没想到这个属性会直接导致隐私数据的丢失.下面就来看一下这个属性的影响到底有多大.他的作用是什么? 二.Android中的allowBackup属性 1.allowBackup安全风险描述 Android API

最新文章
  • ins2douban.com 同步 instagram 照片到豆瓣廣播

    無聊用 tornado 寫的.剛 deploy 上去. 歡迎大家試用,報 bug. --cut-- feiandxs在2016-05-09 14:41:03回答到: 唉,每次玩IFTTT看里面的新CHANNEL没有足够的国内服务总是不开心.国外的几家大的能被我用的都用的差不多了... wilbeibi在2016-05-09 14:41:03回答到: @feiandxs 是啊,就是 IFTTT 沒有我才寫的. OldPanda在2016-05-09 14:41:03回答到: 刚试了试,更新频率有点

  • Can’t We All be Reasonable and Speak English?

    Stack Overflow 推出非英文版 http://blog.stackoverflow.com/2014/02/cant-we-all-be-reasonable-and-speak-english/ --cut-- jakwings在2014-02-14 22:08:2回答到: 讨论的素质太重要了,SO 的良好风气也不是一天形成的.对国内的各种卖萌和起哄实在是无语了,就算是外国人想用 Google 翻译来理解那些萌话也是很困难的.想把社区搬到 SO 也得先习惯一下文明用语啊.不期望在几

  • Python.cn(news, jobs) Weekly NO.14 / 2011.7.24

    Python新闻/技术文章/教程 === Bottle ---- Bottle: Bugfix release 0.9.6 http://simple-is-better.com/news/597 Django ---- Django 大文件下载问题处理 http://simple-is-better.com/news/594 Django Blog 程序 Youflog 发布更新:增加缓存.Ajax 操作.子分类.优化验证码等功能 http://simple-is-better.com/new

  • 夏天女生T恤怎穿好看 夏天女生T恤怎穿好看

    这款黑色的长款无袖T恤就是懒妹子和大忙人的福音,无袖显精神气儿,下面搭上迷你裤防止走光,搭一双粗跟凉鞋更立显秀丽美腿. 如果大腿肉肉较多的美眉可选择略宽松的破洞牛仔裤,保持了牛仔裤的个性也显得合身一点,上面配上黑色的T恤帅气极简风,一款精练的短上衣更让你看起来有精气神儿. 宽大的中袖T恤并不只是微胖妹子的专属,平时穿均码的女生也可入手一款宽松的中袖T恤,不仅帮你遮住尴尬的肉肉手臂,穿搭舒适更显得休闲帅气,裤子就配最近大家都爱穿的白色小脚裤,带一点破洞让你更出众. 一身女王气质的穿搭也显得帅气十足

  • 中国的传统梳头礼仪

    如果你是位中国妈妈,正为女儿的婚礼而兴奋,你会做些什么呢?自豪的母亲也许会面临一个这样的任务--梳头. 新娘洗了澡,打扮一下然后哭上一场就算是从"未婚"过渡到"已婚"了,你的任务呢?帮助女儿洗澡(象征性的),给她梳一个"有福气的女人"的发型,整个过程如果请亲友一起参加,会变成一个Party. 洗澡 洗澡一般并不意味着庆贺什么,但是中国的婚前洗澡却绝不仅是你平常所认为的20 分钟泡在浴盆里.水里溶入了文旦(柚子)的气味,或者花草如竹子.松木或艾属植

  • 三星S6怎么开启智能休眠模式 三星S6怎么开启智能休眠模式

    智能休眠功能是指通过机器前置摄像头眼部智能识别技术,实现自动保持屏幕亮度的功能.开启此项功能后,当您在阅读电子书或者浏览网页时,可以免受黑屏打扰,享受持续观赏的乐趣,具体设置方法如下: 注意:智能休眠功能在以下情形时可能无法运作: (1) 当前部摄像头不能检测面部和眼睛时. (2) 当光源位于您背后或在暗处使用设备时. (3) 前部摄像头用于应用程序时. 1.在待机页面下,点击[应用程序]. 2.点击[设定]. 3.点击[显示]. 4.点击[智能休眠]. 5.点击[关]右侧滑块,显示[开]代表已

  • 梦幻网络为您提供免费50M ASP免费空间

    梦幻网络提供50M免费空间申请,即时申请开通的,空间支持ASP.ACCESS.动易组件等,支持FTP上传管理,空间很适合无任何网页设计基础的网友和个人网站使用!有需要的网友去看看! 申请步骤: 1.打开: http://www.jhhost.com/Scripts/register/register.asp ,请按表单要求填写,特别是邮箱,一定要写常用的.正确的邮箱,因为以后申请免费空间需要邮箱激活.请不要使用 163.126.sina邮箱,99%发送失败!!!已经有会员编号者请不要重复申请.

  • CF穿越火线推荐好友注册赢火线装备,笔记本电脑

    CF推荐好友注册赢火线装备,笔记本电脑,详情如下 活动时间:8月4日-9月30日活动规则:1 活动期间玩家只需登陆活动页面进行注册,注册成功后即可获得10个抽奖积分和系统发放的指定推荐链接:凭推荐链接推荐其他玩家注册成功,推荐人与被推荐人同时获得10个抽奖积分. www.poluoluo.com 2 每次抽奖将消耗20个积分.每天最多可抽奖10次.推荐100人以上成功注册的玩家,将有机会抽取到"海尔7哥笔记本",总共3台! 3 本活动最终解释权归海尔集团公司所有. . 活动地址 htt

  • 打遍全年 战地之王战队“自由赛”凌厉开战 打遍全年 战地之王战队“自由赛”凌厉开战

    打遍全年!每晚19点-22点战队频道,<战地之王>战队"自由赛"凌厉开战!2011年,五大赛区数万战队,每天晚上等你来战.积累对战场次和战绩,即可登录排行榜,并赢取AVA点道具奖励! 活动时间:每天晚上19:00--22:00,共3小时 活动周期:每周一到周日,天天晚上开启 活动奖励: 1.每个大区排名前三的战队获得10个热卖AVA点武器(7/3/1天)CDKEY奖励: 2.同一大区,连续2个星期夺得单周战队自由赛冠军的战队,还将获得格外武器奖励: 3.同一大区,连续4个星

  • 魏书·张衮传阅读练习及答案

    阅读下面的文言文,完成4-7题. 张衮,字洪龙,上谷沮阳人也.衮初为郡五官掾,纯厚笃实,好学,有文才.太祖为代王,选为左长史. 从太祖征蠕蠕.蠕蠕遁走,追之五六百里.诸部帅因衮言于太祖日:"今贼远粮尽,不宜深入,请速还军."太祖令衮问诸部帅,若杀副马,足三日食否.皆言足也.太祖乃倍道追之,及于广漠赤地南床山下,大破之.既而太祖问衮:"卿曹外人知我前问三日粮意乎?"对曰:"皆莫知也."太祖日:"此易知耳.蠕蠕奔走数日,畜产之余,至水必留.

热门推荐
  • Hexo 的 Deploy Hexo 的 Deploy 关于hexo的deploy命令 最近想玩一下博客,使用了hexo + github刚开始看的时候确实是一头雾水,但是后来参照了cnfeat的博文之后自己也了解了一些 现在的问题就是我第一次deploy是没问题的,但是之后更新内容再deploy就没有效果了.而且deploy命令之后是没有任何提示的 --cut-- lynulzy在2015-04-10 10:19:3回答到: 表沉啊,找不到解决方法才来问的,望大侠不吝赐教@大虾们 JingXiao在2015-04-10 10:23:1回答到: he
  • 中国古老茶文化 中国古老茶文化 中国是茶的故乡,国人饮茶,至今已有4700多年历史.几千年来中国不但积累了大量关于茶叶种植.生产的物质文明,更使茶文化深入到诗词.绘画.书法.医学领域,创造了辉煌灿烂的精神文明.自汉代始,茶叶通过陆路参与东西贸易往来和文化交流,随着海上丝绸之路的鼎盛,通过海路出口茶叶的商船不知凡几.具有解毒消滞功效的茶叶在日本.西亚.中东乃至欧洲上流社会掀起热潮.
  • iFunbox常用的功能介绍 iFunbox常用的功能介绍 iFunbox是一款PC端的iPhone的文件管理器,需要iPhone越狱才能连接,可以通过iFunbox看到系统全部文件,并对其做覆盖.删除和更改等操作.iFunbox在平时的操作中起到最基础的文件传输和查看的作用,它还有很多小的附属功能,比如在PC端查看iPhone中的音乐文件等等. 常用的功能介绍: 1.安装deb文件:将deb文件直接copy到private/var/root/media/cydia/AutoInstall目录下,重启即可. 2.安装主题:将主题文件夹copy到var/s
  • NASA好奇号新发现:火星土壤中有明显的水 NASA好奇号新发现:火星土壤中有明显的水 据外国媒体报道,NASA好奇号火星探测器日前发现火星土壤中含有明显的水. 当好奇号上的仪器将采集到的火星土壤予以加热后,居然测到绝大部分加热后释出的蒸汽是水.科学家估计:每克火星土壤中,约有2%是水.此外,火星土壤和岩石中也侦测到有机碳化合物,也发现高氯酸盐,为氯和氧的化合物,这是地球存活着的生物的特征化合物之一. 火星上发现一块被称为mugearite的金字塔状奇特火山岩,与目前已知的任何其他火星火成岩均不相同. 中国计划于2023年发射面积约达60平方米的太空站,,其中核心舱约18.1公尺长