2017-03-10 9 views
0

私はNunjucksのコンパイル済みのテンプレートを使用しています。私は無駄なスペースと改行からtemplate.jsの出力をきれいにしたいと思います。Nunjucksプリコンパイルクリーンhtml

コンパイルされたテンプレートは、元のテンプレートから無駄なスペースや改行を保持します:nunjucks-tag-spacelessよう

"<form>\n  <div class=\"choices\">\n   <div class=\"choice\">\n" 

カスタムタグは、正規表現スタッフクライアント側を行います。 サイズ/時間を節約するためにコンパイルステップ中にこれを行う方法はありませんか?

答えて

1

あなたがあなたの目的のためにjltoライブラリを使用しようとすることができます:私は、カスタムタグは、より適切なテンプレートの無駄なスペースを削除するようhttps://www.npmjs.com/package/jlto

+0

ニース!今私はgrunt-nunjucksでこれを使う方法を見つけなければならない – Spope

+1

あなたがGruntを使うなら、あなたはカスタムタスクを登録することができます:https://codepen.io/dmitry_krekota/pen/qjPKwy –

+0

パーフェクト、このスニペットに感謝します。 – Spope

0

nunjucksの実現コード内にカスタムフィルタを作成して、使用するロジック/ライブラリに従ってhtmlを整理し、フィルタが呼び出されたときとテンプレートの実現後に実行することができます。 詳細については、Documentationを確認してください。 htmlをクリーンアップするフィルタを実装するには、Linkを実行してください。 これが役立つことを願っています。

+0

フィルタは、与えられた変数を操作します。しかし、カスタムタグ/フィルタはコンパイル時には実行されず、クライアント側では(これは正常です)実行されます。コンパイル時にロジックを追加する方法を探していますが、クライアント側には追加しません。 – Spope

+0

このリンクは一度[Docs](https://mozilla.github.io/nunjucks/api.html#configure)に移動してください。 nunjucks configの_trimBlocks_と_lstripBlocks_パラメータを使ってみましたか?これらは通常、デフォルト状態ではfalseです。 – nams

+0

うん、私はtrimBlocksとlstripBlocksを試みたが、私はそれだけでスペース/ニューラインNunjucksブロック/タグではなく、HTML文字列のテンプレートを削除すると思います。とにかくタンク。 – Spope

関連する問題