VueJS/Tailwind CSS/VITE: Gunakan pembolehubah persekitaran sebagai warna tema Tailwind
P粉174151913
P粉174151913 2023-08-26 14:31:22
0
1
485
<p>Saya mempunyai persediaan VueJS dengan Vite, Tailwind CSS dan postcss dan ingin mentakrifkan warna yang berbeza menggunakan pembolehubah dalam fail <kod>.env.name</code> kod digunakan Tema warna yang berbeza. < /p> </p><p>Saya cuba menggunakan fail yang mengandungi <kod>.env</code></p> <pre class="brush:php;toolbar:false;">VITE_COLOR="FF0000"</pre> <p>Dan import</p> dalam <code>tailwind.config.js</code> <pre class="lang-js prettyprint-override"><code>... tema: { warna: { utama: import.meta.env.COLOR } } ... </code></pre> <p>Walau bagaimanapun, saya mendapat ralat berikut: </p> <blockquote> <p>Ralat sintaks: 'import.meta' tidak boleh digunakan di luar modul</p> </blockquote> <p>Apakah yang perlu saya ubah untuk menjadikannya berfungsi, atau adakah cara yang lebih baik? </p>
P粉174151913
P粉174151913

membalas semua(1)
P粉212114661

Konfigurasi Tailwind ialah fail CommonJS (bukan modul), jadi anda tidak boleh menggunakan ciri ES6 seperti import

Anda boleh memasang pakej yang dipanggil dotenv

npm i dotenv

Perlu diletakkan di atas fail konfigurasi tailwind, contohnya

require('dotenv').config()

module.exports = {/** */}

.env中创建颜色变量。请注意,由于我们要求它超出了 Vite 的范围,因此它可能不会带有 VITE_

awalan
ANY_COLOR='#ffc8dd'

Kini anda boleh mengaksesnya dalam konfigurasi tailwind

theme: {
    colors: {
       primary: process.env.ANY_COLOR
    }
}

Ini akan berfungsi tetapi jika anda menukar .env warna dalam fail, anda perlu membina semula gaya itu semula. Jika ia berfungsi untuk anda (satu penggunaan - satu warna pula) - bagus. Saya secara peribadi akan mencadangkan penyelesaian lain berdasarkan pembolehubah CSS - pautan CanIUse

Tentukan pembolehubah dalam fail CSS atau dalam index.html中的标签内创建styletag

:root {
    --theme-color: #ffc8dd;
}

dan dalam konfigurasi

theme: {
    colors: {
       primary: 'var(--theme-color)'
    }
}

Itu sahaja - tiada pakej tambahan, kerja tambahan, jika anda menukar pembolehubah CSS, perubahan akan digunakan serta-merta - walaupun dalam pengeluaran kerana kami menggunakan fungsi CSS

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan