亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

VueJS/Tailwind CSS/VITE:使用環(huán)境變數(shù)作為 Tailwind 主題的顏色
P粉174151913
P粉174151913 2023-08-26 14:31:22
0
1
629
<p>我有一個(gè)包含Vite、Tailwind CSS 和postcss 的VueJS 設(shè)定,並且想使用<code>.env.name</code> 檔案中的變數(shù)定義不同的顏色,以便我可以根據(jù)程式碼部署位置應(yīng)用不同的顏色主題。 < /p> </p><p>我嘗試使用包含 <code>.env</code> 檔案</p> <pre class="brush:php;toolbar:false;">VITE_COLOR="FF0000"</pre> <p>並在 <code>tailwind.config.js</code> 中導(dǎo)入</p> <pre class="lang-js prettyprint-override"><code>... theme: { colors: { primary: import.meta.env.COLOR } } … </code></pre> <p>但是,我收到以下錯(cuò)誤:</p> <blockquote> <p>語法錯(cuò)誤:無法在模組外部使用“import.meta”</p> </blockquote> <p>我需要改變什麼才能使其正常工作,或者有更好的方法嗎? </p>
P粉174151913
P粉174151913

全部回覆(1)
P粉212114661

Tailwind 設(shè)定是 CommonJS 檔案(不是模組),因此您無法使用 import 等 ES6 功能

您可以安裝名為 dotenv

的軟體包
npm i dotenv

需要將其放在 tailwind 設(shè)定檔之上,例如

require('dotenv').config()

module.exports = {/** */}

.env中建立顏色變數(shù)。請(qǐng)注意,由於我們要求它超出了 Vite 的範(fàn)圍,因此它可能不會(huì)帶有 VITE_

# 前綴
ANY_COLOR='#ffc8dd'

現(xiàn)在您可以在 tailwind 配置中存取它

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

這將起作用但是如果您更改.env檔案中的顏色,則需要再次重建樣式。如果它適合你(一種部署 - 無論如何一種顏色) - 很好。我個(gè)人會(huì)建議另一個(gè)基於 CSS 變數(shù)的解決方案 - CanIUse 連結(jié)

在CSS檔案中定義變數(shù)或在index.html中的#標(biāo)籤內(nèi)建立style標(biāo)籤

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

並在配置??中

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

就是這樣 - 沒有額外的包,額外的工作,如果您更改 CSS 變量,更改將即時(shí)應(yīng)用 - 即使在生產(chǎn)中,因?yàn)槲覀兪褂?CSS 功能

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板