🧊

Pug(元 Jade)で include と filter をあわせて使うには

Pugです。

個人的には好きじゃないです。

include

// foo.js
(function() {
  var foo = 1;
  console.log(foo);
}());

たとえばこんな`foo.js`があったとすると、こんなことができます。

//- index.jade
script
  include ./foo.js

<script>
// foo.js
(function() {
  var foo = 1;
  console.log(foo);
}());
</script>

闇魔術かと思いました。

filter

で、これにさらに。

npm i jstransformer-uglify-js

した上で、

//- index.jade
script
  include:uglify-js ./foo.js

とかすると、

<script>
(function() {var o = 1;console.log(o);}());
</script>

って感じになる。

間違った書き方

//- ダメ
script
  :uglify-js
    include ./foo.js
    include ./bar.js

//- ダメ
script:uglify-js
  include ./foo.js
  include ./bar.js

// 正しい
script
  include:uglify-js ./foo.js
  include:uglify-js ./bar.js

あーやだやだ。