最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

NodeJs生成sitemap站點(diǎn)地圖的方法示例

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

如果博客是使用Hexo管理的,sitemap可以使用插件來生成。但對(duì)于一個(gè)內(nèi)容管理網(wǎng)站,后端可能是express、koa之類的框架,這時(shí)sitemap就需要自己來生成了

什么是sitemap

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

sitemap結(jié)構(gòu)

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

生成sitemap,基于express項(xiàng)目

開源包: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ù)少時(shí)還能使用,如果有幾千甚至幾萬篇文章,一次拉取的方式就不適合了,就需要把返回結(jié)果寫入到文件中,一天更新一次。只需要只需要把

sitemap.toXML()

改成

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

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Node.js 的模塊知識(shí)匯總

    Node.js 的模塊知識(shí)匯總

    node.js中是通過模塊來劃分為單位來劃分所有功能的。每個(gè)模塊為一個(gè)js文件。每個(gè)模塊中定義的全局變量或函數(shù)的作用范圍也被限制在這個(gè)模塊中,只能用exports對(duì)象將其傳遞到外部。
    2017-08-08
  • node.js使用mongoose操作數(shù)據(jù)庫實(shí)現(xiàn)購物車的增、刪、改、查功能示例

    node.js使用mongoose操作數(shù)據(jù)庫實(shí)現(xiàn)購物車的增、刪、改、查功能示例

    這篇文章主要介紹了node.js使用mongoose操作數(shù)據(jù)庫實(shí)現(xiàn)購物車的增、刪、改、查功能,結(jié)合實(shí)例形式詳細(xì)分析了node.js使用mongoose框架操作MongoDB數(shù)據(jù)實(shí)現(xiàn)購物車增刪改查相關(guān)技巧與使用注意事項(xiàng),需要的朋友可以參考下
    2019-12-12
  • Node.js讀取Excel文件并處理合并單元格

    Node.js讀取Excel文件并處理合并單元格

    在現(xiàn)代的數(shù)據(jù)處理任務(wù)中,Excel 文件是一種非常常見的數(shù)據(jù)存儲(chǔ)格式,本文將介紹如何使用 Node.js 讀取 Excel 文件,并處理其中的合并單元格,需要的可以參考下
    2025-03-03
  • node.js文件系統(tǒng)模塊和兩個(gè)重要模塊

    node.js文件系統(tǒng)模塊和兩個(gè)重要模塊

    這篇文章主要介紹了node.js文件系統(tǒng)模塊和兩個(gè)重要模塊,nodejs是JavaScript的后端運(yùn)行環(huán)境,并對(duì)node.js的fs文件系統(tǒng)模塊做了簡單的介紹,需要的小伙伴可以參考一下
    2022-06-06
  • 詳解node HTTP請(qǐng)求客戶端 - Request

    詳解node HTTP請(qǐng)求客戶端 - Request

    Request是一個(gè)Node.jsNPM模塊,它是一個(gè)HTTP客戶端,使用簡單功能確十分強(qiáng)大
    2017-05-05
  • 基于socket.io和node.js搭建即時(shí)通信系統(tǒng)

    基于socket.io和node.js搭建即時(shí)通信系統(tǒng)

    socket.IO是一個(gè)websocket庫,包括了客戶端的js和服務(wù)器端的nodejs。官方地址:http://socket.io
    2014-07-07
  • nodejs個(gè)人博客開發(fā)第五步 分配數(shù)據(jù)

    nodejs個(gè)人博客開發(fā)第五步 分配數(shù)據(jù)

    這篇文章主要為大家詳細(xì)介紹了nodejs個(gè)人博客開發(fā)的分配數(shù)據(jù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • Node 模塊原理與用法詳解

    Node 模塊原理與用法詳解

    這篇文章主要介紹了Node 模塊原理與用法,結(jié)合實(shí)例形式詳細(xì)分析了node.js模塊基本概念、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下
    2020-05-05
  • Node.js實(shí)現(xiàn)連接mysql數(shù)據(jù)庫功能示例

    Node.js實(shí)現(xiàn)連接mysql數(shù)據(jù)庫功能示例

    這篇文章主要介紹了Node.js實(shí)現(xiàn)連接mysql數(shù)據(jù)庫功能,簡單分析了nodejs連接數(shù)據(jù)庫的操作步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-09-09
  • 如何寫Node.JS版本小游戲

    如何寫Node.JS版本小游戲

    JavaScript的出現(xiàn)催動(dòng)了前端開發(fā)的萌芽,前后端分離促進(jìn)了Vue、React等開發(fā)框架的發(fā)展,Weex、React-Native等的演變賦予了并存多端開發(fā)的能力,而Node.JS的面世無疑是推動(dòng)了Web全棧開發(fā)的步伐。
    2021-05-05

最新評(píng)論

广昌县| 桃源县| 高淳县| 夹江县| 固镇县| 巴东县| 武清区| 赣榆县| 达日县| 勃利县| 遂宁市| 民乐县| 清水河县| 厦门市| 临汾市| 抚顺市| 普格县| 康平县| 临泉县| 南宁市| 敦煌市| 九龙城区| 南宁市| 武威市| 长武县| 定兴县| 张家港市| 定远县| 霍林郭勒市| 桐庐县| 股票| 大余县| 宁津县| 永丰县| 山东| 航空| 大埔区| 封开县| 唐海县| 永川市| 金塔县|