Node.jsをDockerコンテナで動かしてフロントエンド開発できるようにするお手軽キットです。
- 
Docker
- Node.js LTS版
- 開発環境
 
 - Apache2
- 本番稼働用Webサーバー
 
 
 - Node.js LTS版
 - 
Node.js
- Yarn
- JavaScriptパッケージマネージャー
 
 - ESLint
- JavaScript静的コード解析ツール
 
 - Babel
- JavaScriptトランスパイラー
 
 - Sass
- CSSメタ言語
 
 - Webpack
- モジュールバンドラー
 
 
 - Yarn
 
本リポジトリーを git clone したディレクトリーに移動している前提とします。
$ docker build -t nodejs-frontend-developer:dev --target dev .
$ docker build -t nodejs-frontend-developer:prod --target prod .
以下のコマンドを実行すると、必要なパッケージが一式 node_module ディレクトリーにインストールされます。
package.json を更新した際は毎回実行する必要があります。
$ docker run --rm -v $(pwd):/src nodejs-frontend-developer:dev install
新たにNode.jsパッケージを追加する場合は以下コマンドを実行します。
$ docker run --rm -v $(pwd):/src nodejs-frontend-developer:dev add {PACKAGE_NAME}
以下のコマンドを実行すると、Webpack内蔵のWebサーバーを起動できます。
$ docker run --rm -p 3000:3000 -it -v $(pwd):/src nodejs-frontend-developer:dev start
以下のコマンドを実行すると、Minifyされた状態のHTML/CSS/JavaScriptをソースマップ付きで dist ディレクトリーにビルドします。
$ docker run --rm -v $(pwd):/src nodejs-frontend-developer:dev dev
以下のコマンドを実行すると、Minifyされた状態のHTML/CSS/JavaScriptをソースマップ無しで dist ディレクトリーにビルドします。
$ docker run --rm -v $(pwd):/src nodejs-frontend-developer:dev build
- Dockerコンテナを起動します。
$ docker run --rm -p 8080:80 nodejs-frontend-developer:prod
 - Webブラウザーからページを開きます。
http://localhost:8080/
 - HTML/CSS/JavaScriptがそれぞれMinimfyされた状態で出力されていることが確認できます。
 - 任意のコンテナ対応サービスにデプロイすることで、そのままWebサイトとして本番稼働させることができます。
 
- GitHub Actionsページの 
GitHub Packagesから Run workflow して手動でワークフローを起動します。 - ワークフローの処理が完了すると、同リポジトリーのPackagesにビルドされたDockerイメージが保管されます。
 
- GitHub Actionsページの 
GitHub Pagesから Run workflow して手動でワークフローを起動します。 - ワークフローの処理が完了すると、 
gh-pagesブランチが作成されていることが確認できます。 - GitHubリポジトリーのSettingsからGitHub PagesのSourceブランチに 
gh-pagesを指定します。 - 
Your site is published at ...
- ... に続くURLに、Webサイトがデプロイされていることが確認できます。