npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

react-router-sitemap-cashbac

v1.0.2

Published

Module to generate a sitemap for react-router configuration

Downloads

4

Readme

Cara membuat sitemap untuk web ReactJs dengan konten dinamis

test test test

Posting ini menggambarkan bagaimana menggunakan react-router-sitemap-cashbac untuk menghasilkan sitemap.xml file untuk aplikasi React Anda untuk membantu meningkatkan SEO pada website anda.

Langkah 1 - Instal react-router-sitemap-cashbac

Langkah pertama adalah menginstal react-router-sitemap-cashbac menggunakan npm:

npm i --save react-router-sitemap-cashbac

Langkah 2 - Buat file sitemap-routes.js

Langkah kedua adalah membuat file route duplikat hanya untuk tujuan sitemap. Berikut adalah contoh sitemap-routes.js

import React from 'react';
import { Route } from 'react-router';
 
export default (
    <Route>
	<Route path='/' />
	<Route path='/blog/:id' />
    </Route>
);

Langkah 3 - Buat sitemap-generator.js

File ini akan melakukan pekerjaan berat untuk menghasilkan file sitemap.xml Anda. Berikut ini adalah contoh sederhana sitemap-generator.js

require("babel-register")({
  presets: ["es2015", "react"]
});
 
const router = require("./sitemap-routes").default;
const Sitemap = require("react-router-sitemap").default;

function generateSitemap() {
    return (
      new Sitemap(router)
          .build("https://www.example.com")
          .save("./public/sitemap.xml")
    );
}

generateSitemap();

Pastikan Anda mengubah path dan nama domain Anda.

Langkah 4 - Jalankan file sitemap-generator.js

Instal dependensi dev berikut:

npm install --save-dev babel-cli
npm install --save-dev babel-preset-es2015
npm install --save-dev babel-preset-react
npm install --save-dev babel-register

Sekarang tambahkan skrip dibawah ini pada package.json anda

"scripts": {
    ...
    "sitemap": "babel-node path/to/your/sitemap-generator.js"
  }
...

Sekarang jalankan npm run sitemap dan Voila! sitemap.xml telah terbentuk di directory public Anda.

Langkah 5 - Menambahkan jalur dinamis ke sitemap.xml Anda

Berikuta adalah sample script yang digunakan untuk membuat sitemap dinamis

require("babel-register")({
  presets: ["es2015", "react"]
});
 
const router = require("./sitemap-routes").default;
const Sitemap = require("react-router-sitemap").default;

const AWSAmplify = require("aws-amplify");
const Amplify = AWSAmplify.default;
const API = AWSAmplify.API;
const config = require("../config").default;

Amplify.configure({
  API: {
    endpoints: [
      {
        name: "posts",
        endpoint: config.apiGateway.URL,
        region: config.apiGateway.REGION
      },
    ]
  }
});

async function generateSitemap() {
  try {
    const posts = await API.get("posts", "/posts");
    let idMap = [];

    for(var i = 0; i < posts.length; i++) {
      idMap.push({ id: posts[i].postId });
    }

    const paramsConfig = {
      "/blog/:id": idMap
    };

    return (
      new Sitemap(router)
          .applyParams(paramsConfig)
          .build("https://www.example.com")
          .save("./public/sitemap.xml")
    );
  } catch(e) {
    console.log(e);
  } 
}

generateSitemap();

Itu saja untuk saat ini teman-teman :)

Terima Kasih.