欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

NodeJs生成sitemap站點地圖的方法示例

 更新時間:2019年06月11日 14:37:20   作者:JouyPub  
這篇文章主要介紹了NodeJs生成sitemap站點地圖的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

如果博客是使用Hexo管理的,sitemap可以使用插件來生成。但對于一個內容管理網站,后端可能是express、koa之類的框架,這時sitemap就需要自己來生成了

什么是sitemap

Sitemap可方便網站管理員通知搜索引擎他們網站上有哪些可供抓取的網頁。最簡單的Sitemap形式,就是XML文件,在其中列出網站中的網址以及關于每個網址的其他元數(shù)據(上次更新的時間、更改的頻率以及相對于網站上其他網址的重要程度為何等),以便搜索引擎可以更加智能地抓取網站。

sitemap結構

<url>
 <loc>http://www.jouypub.com/</loc>
 <lastmod>2019-05-01</lastmod>
 <changefreq>daily</changefreq>
 <priority>0.5</priority>
</url>
  • loc:文章鏈接地址
  • lastmod:最后更新時間
  • changefreq:更新頻率,daily/monthly
  • priority:權重

生成sitemap,基于express項目

開源包:sitemap,地址: https://github.com/ekalinin/sitemap.js

> npm install --save sitemap

代碼中使用

const express = require('express')
const sm = require('sitemap');

router.get('/sitemap.xml', function (req, res) {
 let pageRequest = Object.create({});
 pageRequest.pageSize = -1;
 pageRequest.pageNum = 1;
 api.post('/article/list', pageRequest, function (result) {
  let urls = [];
  for (let article in result) {
   urls.push({
    url: article.url,
    changefreq: 'daily',
    lastmodrealtime: true,
    priority: 1,
    lastmod: article.updateTime
   });
  }

  let sitemap = sm.createSitemap({
   hostname: 'http://invest.jouypub.com',
   cacheTime: 600000, // 600sec, cache purge period
   urls: urls
  });

  sitemap.toXML(function (err, xml) {
   if (err) {
    console.log(err);
    return res.status(500).end();
   }
   res.header('Content-Type', 'application/xml');
   res.send(xml);
  });
 });
});

sitemap優(yōu)化

上面那種方法在文章數(shù)少時還能使用,如果有幾千甚至幾萬篇文章,一次拉取的方式就不適合了,就需要把返回結果寫入到文件中,一天更新一次。只需要只需要把

sitemap.toXML()

改成

fs.writeFileSync("app/assets/sitemap.xml", sitemap.toString());即可。每次請求sitemap時讀文件即可

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 使用Node.js實現(xiàn)獲取視頻詳情

    使用Node.js實現(xiàn)獲取視頻詳情

    這篇文章主要為大家詳細介紹了如何在Node.js應用程序中實現(xiàn)獲取視頻詳情的功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-04-04
  • NodeJS http模塊用法示例【創(chuàng)建web服務器/客戶端】

    NodeJS http模塊用法示例【創(chuàng)建web服務器/客戶端】

    這篇文章主要介紹了NodeJS http模塊用法,結合實例形式分析了node.js創(chuàng)建web服務器與客戶端,進行HTTP通信的相關操作技巧,需要的朋友可以參考下
    2019-11-11
  • 玩轉Koa之核心原理分析

    玩轉Koa之核心原理分析

    這篇文章主要介紹了玩轉Koa之核心原理分析,本文從封裝創(chuàng)建應用程序函數(shù)、擴展res和req、中間件實現(xiàn)原理、異常處理的等這幾個方面來介紹,感興趣的可以了解一下
    2018-12-12
  • nodejs連接ftp上傳下載實現(xiàn)方法詳解【附:踩坑記錄】

    nodejs連接ftp上傳下載實現(xiàn)方法詳解【附:踩坑記錄】

    這篇文章主要介紹了nodejs連接ftp上傳下載實現(xiàn)方法,結合實例形式詳細分析了node.js使用ftp模塊實現(xiàn)針對ftp上傳、下載相關操作的方法,并附帶記錄了傳輸速度慢的解決方法,需要的朋友可以參考下
    2023-04-04
  • node.js入門教程

    node.js入門教程

    這篇文章主要介紹了node.js入門教程,講解了node.js在linux和windows下的安裝,模塊的概念,NPM的使用等等,是一篇不錯的nodejs入門文章,需要的朋友可以參考下
    2014-06-06
  • nodejs+axios爬取html出現(xiàn)中文亂碼并解決示例

    nodejs+axios爬取html出現(xiàn)中文亂碼并解決示例

    這篇文章主要為大家介紹了nodejs+axios爬取html出現(xiàn)中文亂碼示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • node.js中的fs.appendFileSync方法使用說明

    node.js中的fs.appendFileSync方法使用說明

    這篇文章主要介紹了node.js中的fs.appendFileSync方法使用說明,本文介紹了fs.appendFileSync方法說明、語法、接收參數(shù)、使用實例和實現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • 使用VS開發(fā) Node.js指南

    使用VS開發(fā) Node.js指南

    這篇文章主要介紹了使用VS開發(fā) Node.js的方法,主要是使用NTVS(Node.js Toolsfor Visual Studio)來實現(xiàn),有需要的小伙伴參考下
    2015-01-01
  • 詳解nodejs 文本操作模塊-fs模塊(四)

    詳解nodejs 文本操作模塊-fs模塊(四)

    本篇文章詳細的講訴fa.fstat方法,這個State對象中,包含的數(shù)據都有哪些,并且他們分別代表的含義是什么。具有一定的參考價值,有興趣的可以了解一下。
    2016-12-12
  • Node.js打包管理工具NPM用法

    Node.js打包管理工具NPM用法

    這篇文章介紹了Node.js打包管理工具NPM的用法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04

最新評論