- Web制作のためのボイラープレートです
- Visual Studio CodeとそのプラグインおよびNode.jsを使用します
- EJS、Dart Sass、JavaScriptの使用を想定しています
- モジュールバンドラとしてwebpackを使用します
- 各種設定は必要に応じて変更してください
- Node.js v16.18.0
Node.jsのバージョン管理にはVoltaを使用する。
- zip形式で本レポジトリをダウンロードする
- zipファイルを解凍し、フォルダ名を任意のプロジェクト名に変更する
- プロジェクトのディレクトリに移動し、
npm i
コマンドを実行してパッケージをインストールする - 必要なVisual Studio Codeプラグインをインストール・有効化する
- 必要に応じて、README.mdや各種設定ファイルを編集する
- コーディングを開始する
-
.vscodeディレクトリ
Visual Studio Codeの設定ファイルを格納するディレクトリ。 このディレクトリのファイルに記述した設定はプロジェクト内でのみ有効となる。 -
.vscode/extensions.json
プロジェクトにおけるVisual Studio Codeの推奨プラグインを記述したファイル。 -
.vscode/settings.json
Visual Studio Codeの設定ファイル。 -
.browserslistrc
対応ブラウザを指定するファイル。 -
.editorconfig
EditorConfigの設定ファイル。使用するルールについては後述。 -
.eslintrc.json
ESLintの設定ファイル。使用するルールについては後述。 -
.gitignore
Gitの追跡対象にしないファイル・ディレクトリを記述する。 プロジェクトをGitで管理する場合、以下のファイル・ディレクトリは追跡対象としない。node_modules
.DS_Store
dist
-
.stylelintrc.json
stylelintの設定ファイル。使用するルールについては後述。 -
jsconfig.json
JavaScriptの設定ファイル。baseUrl
やパスのエイリアスの設定に使用。 -
package-lock.json
使用するパッケージのバージョンを固定するためのファイル。 -
package.json
プロジェクトで使用するパッケージを記載したファイル。 -
README.md
本ドキュメント。 -
webpack.config.js
webpackの設定ファイル。
-
start
webpackを起動し、開発用サーバーを立ち上げる。 -
build
webpackのproduction mode
でビルドする。 -
build:dev
webpackのdevelopment mode
でビルドする。
以下のブラウザの最新バージョンを対応ブラウザとする。
- iOS Safari
- Android Google Chrome
- Safari
- Microsoft Edge
- Google Chrome
- Firefox
プロジェクトの要件に合わせて変更すること。その場合、必要に応じて.browserslistrc
も更新すること。
EditorConfigのルール
indent_style = tab
インデントにタブを使用する。この選択はWordPressのコーディング規約に依る。indent_size = 2
インデントサイズは2とするend_of_line = lf
改行コードはLFとするcharset = utf-8
文字コードはUTF-8とするtrim_trailing_whitespace = true
文末のスペースを削除する。ただし、.md
ファイルではfalse
insert_final_newline = true
ファイルの最終行に空行を挿入する
必要に応じてコメントを挿入する。 ただし、不要なコメントは削除する。なんらかの理由でコメントアウトしたコードを残す場合は、その理由もコメントで残しておく。
以下のプラグインを使用すること。
- Prettierを使用する
- フォーマットのルールはHTMLのものと同様
- 原則として、SCSSファイルをコンパイルして生成したCSSファイルを直接編集することは禁止する
- destyle.cssを使用する
- Dart Sassを使用する
- PostCSSを使用する
- プラグインとして以下を使用する
- プレフィックスの付与は
.browserslistrc
に基づく
- stylelintを使用する
- ベースのルールとしてstylelint-config-standard-scssを使用する
- 以下のルールを追加する
"at-rule-empty-line-before": always
at-rulesの前に必ず空行を挿入する。
// 以下は許容されない
a {} @media {}
a {}
@media {}
"declaration-block-no-duplicate-properties": true
プロパティの重複を許容しない。
// 以下は許容されない
a {
color: red;
color: blue;
}
"declaration-block-no-redundant-longhand-properties": null
プロパティのロングハンド指定を許容する。
// 以下は許容される
a {
padding-top: 1px;
padding-right: 2px;
padding-bottom: 3px;
padding-left: 4px;
}
"keyframes-name-pattern": null
keyframeの命名パターンを制限しない。
"selector-class-pattern": null
classセレクタの命名パターンを制限しない。
"selector-id-pattern": null
idセレクタの命名パターンを制限しない。
"scss/at-function-pattern": null
functionの命名パターンを制限しない。
"scss/at-mixin-pattern": null
mixinの命名パターンを制限しない。
"scss/dollar-variable-pattern": null
変数の命名パターンを制限しない。
"scss/no-duplicate-dollar-variables": true
変数宣言の重複を許容しない。
// 以下は許容されない
$red: red;
$red: blue;
"scss/percent-placeholder-pattern": null
%
-placeholderの命名パターンを制限しない。
- Prettierを使用する
- ベースのルールとしてstylelint-prettier/recommendedを使用する
- プロパティの並び順はstylelint-config-recess-orderに準拠する
- webpackを使用する。
- Babelを使用する
- プリセットとして@babel/preset-envを使用する
- ブラウザ対応は
.browserslistrc
に基づく
- ESLintを使用する
- ベースのルールとしてeslint:recommendedを使用する
- プラグインとして以下を使用する
- 加えて、以下のルールを追加する。ルールの詳細はこちらを参照すること
"no-alert""warn"
alert
, confirm
, prompt
が使用されていたら警告する。
"no-console""warn"
console
が使用されていたら警告する。
"no-unused-vars": "warn"
未使用の変数があれば警告する。
"no-var": "warn"
var
が使用されていたら警告する。
"eqeqeq": "warn"
==
または!=
が使用されていたら警告する。
- Prettierを使用する
- image-webpack-loaderを使用する