静的 Web サイトを簡単に事前レンダリングします。
Antedate は、Chrome pupeteer を使用してクライアント側 Web サイトを事前レンダリングするシンプルな API および CLI です。ローカル サーバーを自動的に起動し、提供された各ルートをレンダリングします。
$ npm install antedate
API または CLI を使用できます。
$ antedate render -r /home -r /about
import antedate from 'antedate'
const routes = [ '/' , '/about' , '/contact' ] ;
const site = './site' ;
await antedate ( site , routes ) ;
// => [
// { html: '....', route: '/', path: '/index.html' },
// { html: '....', route: '/about', path: '/about.html' }
// ...
// ]
await antedate ( site , routes , { headless : false , dirs : true } ) ;
// => [
// { html: '....', route: '/', path: '/index.html' },
// { html: '....', route: '/about', path: '/about/index.html' }
// ...
// ]
このモジュールには CLI も付属しています
Description
Pre-render the routes given
Usage
$ antedate render [options]
Options
-s, --selector Wait for the following selector before rendering
-w, --wait MS to wait before saving page. Happens after selector wait
-r, --route Prerender the route specified
-d, --dir Directory containing the static site (default .)
-o, --output Output directory (default ./static)
-h, --help Displays this message
Examples
$ antedate render -r /home -r /about
戻り値: Array
オプションで唯一の引数としてdate
値を受け入れるレンダリング関数を返します。
タイプ: String
必須: true
事前レンダリングする静的サイトを含むディレクトリへのパス。 Antedate はローカル サーバーを自動的に起動します。
タイプ: Array
必須: true
レンダリングされるルートの配列。ルート/
常に最後にレンダリングされます。例: ['/about', '/contact', '/']
。
タイプ: Object
必須: false
タイプ: Boolean
デフォルト: false
puppeteer をヘッドレス モードで実行するかどうか。
タイプ: String
デフォルト:「
サイトをレンダリングする前に、 selector
表示されるまで待ちます。たとえば、 body.prerender
。
タイプ: Number
デフォルト:「
サイトをレンダリングするまでのミリ秒。
OBS:これは、セレクター オプションの両方が指定されている場合に発生します。
タイプ: Function
デフォルト:「
レンダリングが行われる前にページ上で実行されるコールバック関数。
タイプ: Function
デフォルト:「
レンダリングされた HTML 文字列を操作できるデコレーター関数。
await antedate ( site , routes , { decorator : html => html . toUpperCase ( ) } ) ;
このアイデアとロジックは、Luke Edwards による PWA のコードに基づいています。 @pwa/cli の build.js の元の実装を参照してください。
MIT ライセンス @ Terkel Gjervig