私はPugと一緒に作業しており、いくつかのミックスインを作成して、プロジェクト全体で再利用可能なコンポーネントを作ってみたかったのです。 mixinを分離して分類するためにいくつかのファイルを作成したかったのです。この問題は、ミックスインを含むファイルをメインファイルに含めるときに発生します。例:外部ファイルからのPugミックスインが動作しない
body
block content
include ./components/mixins/_mixins.pug
+user_avatar('', '#', 'Daniel')
これは機能しません(別のファイルからmixinを含める場合)。私は、このエラーました:jade_mixins.user_avatar is not a function
をしかし、私はそれが動作するファイルにミックスインが含まれたとき:それを修正するために何をすべきか
body
block content
mixin user_avatar(avatar_url, profile_url, name)
.user(class='4u 6u(small) 12u(xsmall)')
a(href=profile_url)
.user-avatar-thumbnail.is-active(style="background-image: url('" + avatar_url + "')")
if name
span.user-name=name
+user_avatar('', '#', 'Daniel')
任意の手掛かりを?そして、ええ、正しい道です。 pugをコンパイルするには、laravelのエリクシル用にlaravel-elixir-jade
パッケージを使用します。
わからないが、あなたは試してみました:
はルートディレクトリに
gulp
を実行した後、これは予想通り、次template.html
生成['laravel-elixir-pug'](https://github.com/mrkmg/laravel-elixir-pug)パッケージを使用していますか?翡翠はPugに改名されました。おそらく、これを修正した新しいパッケージにいくつかの変更があります... – gandreadis実際に試しました。私は 'laravel-elixir-pug'パッケージを全く同じ設定(パッケージの説明で有効)で使用しましたが、私のpugコードはコンパイルされませんでした。 Gulpタスクはエラーなしで実行されましたが、ファイルは更新されませんでした。ちょうど私のファイルを見つけることができなかったように。 –
クリーンセットアップで問題を再現しようとしました。下の回答を参照してください。 – gandreadis