VueJS/Tailwind CSS/VITE: Tailwind テーマの色として環境変数を使用する
P粉174151913
2023-08-26 14:31:22
<p>Vite、Tailwind CSS、postcss を使用して VueJS セットアップを行っており、<code>.env.name</code> ファイル内の変数を使用してさまざまな色を定義して、どこにあるかに基づいて適用できるようにしたいと考えています。コードがデプロイされます。 さまざまなカラーテーマが展開されます。 < /p>
</p><p><code>.env</code></p>を含むファイルを使用してみました。
<pre class="brush:php;toolbar:false;">VITE_COLOR="FF0000"</pre>
<p>そして <code>tailwind.config.js</code> に </p> をインポートします。
<pre class="lang-js prettyprint-override"><code>...
テーマ: {
色: {
プライマリ: import.meta.env.COLOR
}
}
...
</code></pre>
<p>しかし、次のエラーが発生します: </p>
<ブロック引用>
<p>構文エラー: 'import.meta' はモジュール外では使用できません</p>
</blockquote>
<p>機能させるには何を変更する必要がありますか、それとももっと良い方法はありますか? </p>
Tailwind 構成は CommonJS ファイル (モジュールではない) であるため、
のような ES6 機能は使用できません。import
dotenv
という名前のパッケージをインストールできます。 リーリーtailwind 構成ファイルの上に配置する必要があります。たとえば、
リーリー
という接頭辞が付けられない場合があることに注意してください。 リーリー.env
にカラー変数を作成します。 Vite の範囲外である必要があるため、VITE_
追い風構成でアクセスできるようになりました
リーリーこれは機能します ただし、
.env
ファイルの色を変更した場合は、スタイルを再度再構築する必要があります。それがうまくいくなら(とにかく 1 つの展開 - 1 色)、素晴らしいです。個人的には、CSS 変数に基づいた別の解決策をお勧めします - CanIUse linkCSS ファイルで変数を定義するか、
を作成します。 リーリーindex.html
のタグ内に
style
tagsそして構成内で
リーリー以上です - 追加のパッケージや余分な作業は必要ありません。CSS 変数を変更すると、変更は即座に適用されます - CSS 機能を使用しているため、本番環境であっても変更が適用されます