0%

Vercel でデプロイするときに HTML をミニファイする

注: Vercel は gzip と brotli をサポートしているため、通常、自前でのリソースのミニファイは不要。

手順

1. package.json ファイルの設定

package.json ファイルを作成していない場合は以下のコマンドで作成する。

1
npm init -y

ミニファイヤーの HTMLMinifier をインストールする。

1
npm install html-minifier --save-dev

package.json ファイルの scripts プロパティーに HTMLMinifier を実行するためのスクリプトを追加する。

ここでは、minify という名前で追加する。

package.json:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
"name": "test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"minify": "html-minifier --input-dir . --output-dir . --file-ext html --collapse-whitespace --minify-js true --minify-css true"
},
"repository": {
"type": "git",
"url": "git+https://github.com/AsaiToshiya/test.git"
},
"keywords": [],
"author": "",
"license": "ISC",
"bugs": {
"url": "https://github.com/AsaiToshiya/test/issues"
},
"homepage": "https://github.com/AsaiToshiya/test#readme",
"devDependencies": {
"html-minifier": "^4.0.0"
}
}

2. Vercel の設定

ダッシュボードを表示して、HTML をミニファイするプロジェクトを選択する。

step-2-1.png

「Settings」タブを選択する。

step-2-2.png

「Project Settings」ページが表示される。

step-2-3.png

「BUILD COMMAND」の「OVERRIDE」トグルをオンにして、以下のコマンドを入力する。

1
npm run minify

step-2-4.png

「OUTPUT DIRECTORY」の「OVERRIDE」トグルをオンにして、. (カレント ディレクトリ) を入力する。

注: プレースホルダーに `public` if it exists, or `.` (存在する場合は `public`、存在しない場合は `.`) が記載されているが、. で上書きする必要がある。

step-2-5.png

「Save」をクリックする。

step-2-6.png

3. package.json ファイルのコミットとプッシュ

手順 1 で作成した package.json ファイルのコミットとプッシュを行う。

1
2
3
4
> git add package.json
> git commit -m "package.json を追加する"
> git branch -M main
> git push -u origin main

4. HTML のミニファイを確認

Vercel に戻り、「Overview」タブを選択する。

step-4-1.png

スクリーン ショットをクリックする。

step-4-2.png

表示されたページのソースを確認する。

step-4-3.png

step-4-4.png