レガシーな静的サイトを作る環境のボイラープレートを作ってみた
生産性向上のための環境整備2020 【PR】 Lenovo Advent Calendar 2020の15日目の記事です。
はじめに
Reactや、Vuejsなどのモダンな開発環境では、linterやビルドツールは簡単に導入できます。
しかし、VueやReactなしの環境でlinterやビルドツールを導入するとなると、
なかなかまとまっている記事がないため、環境を準備するのに時間がかかってしまいます。
かといって、それらを導入せずに開発を行うと、普段と違って生のCSSを書くのに苦戦したり、linterで防げていたミスなどが頻発してしまいます。
それらを解決するために、レガシーな環境でも、できるだけReactやVuejsに負けないDXの環境を作ってみました。
ディレクトリ構成
ディレクトリ構成は以下のようになっています。
基本的に、ビルド対象は、srcに格納し、.cache
(開発時)またはdest
(リリース時)ディレクトリに出力するようになっています。
ProjectRoot/
├ .cache/ ・・・ 開発用ビルド結果出力ディレクトリ
│ src内の資産がビルドされた結果の資産が格納される
├ dest/ ・・・ リリース資産出力ディレクトリ
│ public内の資産(.から始まるファイルは除く)がコピーされたもの
│ + src内の資産がビルドされた結果の資産が格納される
├ node_modules/ ・・・ npmでインストールしたパッケージの格納ディレクトリ
├ public/ ・・・ 静的資産配置ディレクトリ
│ ビルド対象とならない、HTMLや画像、ライブラリなどを配置する
├ src/ ・・・ 開発用資産配置ディレクトリ
│ ビルド対象となるstyleなどを配置する
├ .bs-config.js ・・・ Browsersync(開発用ローカルサーバ)設定ファイル
├ .browserslistrc ・・・ browserslist設定ファイル
├ .editorconfig ・・・ editorconfig設定ファイル
├ .eslintignore ・・・ ESLint除外設定ファイル
├ .eslintrc.js ・・・ ESLint(JS用のlinter)設定ファイル
├ .gitattributes ・・・ Git設定ファイル
├ .gitignore ・・・ Git除外設定ファイル
├ .postcssrc.js ・・・ PostCSS設定ファイル
├ .prettierignore ・・・ Prettier除外設定ファイル
├ .prettierrc.js ・・・ Prettier(コードフォーマッター)設定ファイル
├ .stylelintignore ・・・ stylelint除外設定ファイル
├ .stylelintrc.js ・・・ stylelint(css用のlinter)設定ファイル
├ LICENSE
├ package-lock.json
├ package.json
└ README.md
使い方
事前準備
この環境は、Node.jsを利用しますので、インストールしておいてください。
また、バージョン管理ツールとしてGitを利用することを想定しています。
補足
Node.jsの普通のインストーラーを使ってもいいですが、nodenvなどのバージョン管理ツールを使うことを推奨します。
※普通にインストールすると案件毎にバージョンが異なる場合につらい思いをするため
ダウンロード&実行
コンソールで以下のコマンドを実行します。
# 環境のダウンロード
% git clone https://github.com/ohnaka0410/web-starter-kit.git
% cd web-starter-kit
# 初期構築
% npm ci
# 開発サーバ起動(2回目以降はこれだけで大丈夫)
% npm run serve
表示確認
ブラウザで以下のURLを開けばページが確認できます。
http://localhost:3000
リポジトリ
まとめ
11tyやsass、babelを使いたい方など、案件や好みによって環境は多少変わってきますが、
使いたいpackageをインストールしたあと、package.jsonにsrc
からdest
に出力するように少し追記するだけで
簡単に使えるようになりますので、自分なりにカスタマイズして、快適に開発していただければと思います
Author And Source
この問題について(レガシーな静的サイトを作る環境のボイラープレートを作ってみた), 我々は、より多くの情報をここで見つけました https://qiita.com/yuki0410_/items/6ffc39a2801b23442b36著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .