sitemap node.js模块的documentation不能解释cacheTime是什么。为什么需要生成站点地图?目的是什么?

最佳答案

cacheTime是sitemap.js模块在从提供给它的URL列表中重新生成sitemap.xml文件之前要等待的时间。

IE。在第一个请求时,会生成一个sitemap.xml文件并将其放置在缓存中。后续请求会从缓存中读取站点地图,直到它过期并重新生成为止。

我同意可能会更清晰,但是源代码可以使它更加清晰。

根据sitemap.js的源代码,第136行:

// sitemap cache
  this.cacheEnable = false;
  this.cache = '';
  if (cacheTime > 0) {
    this.cacheEnable = true;
    this.cacheCleanerId = setInterval(function (self) {
      self.clearCache();
    }, cacheTime, this);
  }

和第187行:
Sitemap.prototype.toString = function () {
  var self = this
    , xml = [ '<?xml version="1.0" encoding="UTF-8"?>',
              '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'];

  if (this.cacheEnable && this.cache) {
    return this.cache;
  }

  // TODO: if size > limit: create sitemapindex

  this.urls.forEach( function (elem, index) {
    // SitemapItem
    var smi = elem;

具体来说:
if (this.cacheEnable && this.cache) {
    return this.cache;
}

并且清除缓存操作上的setInterval等于给定的cacheTime参数。

请注意,如果您的网址更改并且cacheTime尚未触发清除站点地图缓存,则站点地图可能会过时。

关于javascript - 站点地图node.js模块中的cacheTime是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21970790/

10-09 01:40