npm run start / build
起動につかうコマンドは、npm run start, npm run build がある
開発モード (ローカルサーバ用)
ビルド+ローカルサーバ実行 (開発モード)
bash
npm run start
→ これだけでローカルサーバが起動し、ブラウザが開かれる
プロジェクト内のファイルが変更されると自動で更新される (ホットリロード)。
本番モード (配布用)
ビルド
bash
npm run build
→ build/
フォルダに deploy 用の html が生成される
ローカルサーバ起動 (本番モード)
bash
npm run serve
→ ローカルサーバが起動し、ブラウザが開かれる
ホットリロードは無し
何のためにあるのかというと、デプロイ前に動作確認したいと き用
(更新時刻表示、検索プラグイン、draft表示など、開発用/本番用で動作のことなる部分の確認)
配布
Web サーバには build/
フォルダの中身をまるっとあげれば良い
→ 自分は AWS S3 に上げるので、このようにシェルスクリプト化している
bash
cd build
aws s3 sync . $AWS_S3_PATH --delete --acl public-read
aws cloudfront create-invalidation --distribution-id $AWS_CF_DIST --paths '/*'
# invalidation の節約版 (画像が多いと料金が大変なことになるので対策したもの)
# aws cloudfront create-invalidation --distribution-id $AWS_CF_DIST --paths '/*.html' '/*/*.html' '/*/*/*.html'
他のホスティングサービス等でのやり方については、公式ドキュメントにいろいろ載ってる。
https://docusaurus.io/docs/deployment
Docusaurus 開発モードと本番モードの違いについて
ドキュメントのどこかには書いているかもしれないが、HTMLソースを見たのをきっかけに気がついた。
SPA か SSG か、という違いあるようだ。
せっかくなので違いをまとめる。