Edited at

pug-cliで_がついたファイル(_header.pug)やディレクトリ(_include)もコンパイルされてしまう問題を解決する

More than 1 year has passed since last update.


はじめに

npm install pug-cliでインストールしたpug-cliでpugをコンパイルすると、_がついたファイルやディレクトリもコンパイルされてしまうため、その解決策を記載した記事になります。

結構前から話題になっていたようですが、自分は今日まで知らなかったため記事として書きました。


問題の現象

以下のようなディレクトリ構造で

.

├── package.json
├── public
└── src
├── _include
│   └── _header.pug
└── index.pug

npm install pug-cliでインストールしたpug-cliでコンパイルを実行すると

pug src -o public

publicディレクトリに_include_header.htmlも出力されてしまう。

.

├── package.json
├── public
│   ├── _include
│   │   └── _header.html
│   └── index.html
└── src
├── _include
│   └── _header.pug
└── index.pug


解決策

現在npmにあがっているpug-cli 1.0.0-alpha6に問題があるため、インストール先を変更する。

npm i github:pugjs/pug-cli#master

上記のpug-cliを実行すれば以下のように正常にコンパイルされる。

.

├── package.json
├── public
│   └── index.html
└── src
├── _include
│   └── _header.pug
└── index.pug