0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[備忘録]PUGをいじっててハマったところ

Last updated at Posted at 2022-05-10

[備忘録]PUGをいじっててハマったところ

最近,HTMLタグを書くのが億劫になってきたのでPUGを使い始めました。

pugを使っているときにハマったところがあったのでここにまとめていきます。

環境 gulp

  • CLI version: 2.3.0
  • Local version: 4.0.2

PUGの変数名に"-"(ハイフン)を使ってはいけない

HTMLを生で書いていたとき,記法を一切意識せずに変数名は"_"(アンダーバー)や"-"(ハイフン)をごちゃ混ぜで使っていました。その流れでPUGも使っていたのですが..

PUG

- 
  var box-A = "hello"
  var box_B = "world"

#div-1
  p #{box-A}
  p #{box_B}

結果コンパイルエラーが出ました。

Message:
    Error parsing body of the with expression

原因は変数名に"-"(ハイフン)を使っていた事だったのですが,意外に時間をもっていかれました。
検索していても似たような状況がないため変数名にハイフンを使うのは私ぐらいしかいないのだなぁと痛感,即スネーク記法に統一しました。

imgタグとインデント

PUGはHTMLのタグの代わりにインデントを使って要素を記述をします。 これによってついつい私がやってしまうミスが以下のコードです。

PUG

- 
    var box_A= "a"
    var box_B= "b"
    var box_C= "c"


#div_1
  .div_1
    p #{box_A}
      .div_2
        p #{box_B}
          .div_3
            img(src="#")
              .div_4 
                p #{box_C}

このコードをコンパイルすると,当然エラーになります。

img is a self closing element: <img/> but contains nested content.

改行+インデントで子要素の指定が出るのですが,imgなどのように閉じタグのいらない要素にもついついやってしまうことが未だにあります。
これは単に私がPUGに慣れていないが故のミスですね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?