はじめに
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