Nuxt.js的環(huán)境變量配置

地址:https://www.homwang.com 歡迎大家性能測(cè)試
交流討論——QQ群號(hào):604203227

?? Dotenv

介紹

該模塊用于環(huán)境變量配置,用于將.env文件加載到上下文中使用。

特性

直接從您的.env文件的模塊加載變量到您的nuxt.js應(yīng)用程序contextprocess.env

使用

yarn 和 npm 安裝:

yarn add @nuxtjs/dotenv
OR
npm install @nuxtjs/dotenv

nuxt.config.js

{
  modules: [
    // Simple usage
    '@nuxtjs/dotenv',

    // With options
    ['@nuxtjs/dotenv', { /* module options */ }],
 ]
}

用法

在項(xiàng)目根目錄中創(chuàng)建.env文件后,只需運(yùn)行您的常用文件npm run dev。.env文件中的變量將被添加到context(context.env)和process(process.env)中

.env 配置文件,示例:

// 運(yùn)行環(huán)境名稱
APP_ENV=local
// 調(diào)試模式,開發(fā)階段啟用,上線狀態(tài)禁用。
APP_DEBUG=true
// 敏感信息加密密鑰。
APP_KEY=
// 項(xiàng)目根目錄
APP_URL=http://localhost

// 緩存驅(qū)動(dòng),默認(rèn)使用文件作為緩存。
CACHE_DRIVER=file
// 回話驅(qū)動(dòng),默認(rèn)使用文件存儲(chǔ)SESSION。
SESSION_DRIVER=file
// 隊(duì)列驅(qū)動(dòng),默認(rèn)使用同步模式。
QUEUE_DRIVER=sync

// Redis高性能key-value數(shù)據(jù)庫(kù),使用內(nèi)存存儲(chǔ),用于數(shù)據(jù)持久化。
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

// 數(shù)據(jù)庫(kù)配置項(xiàng)
DB_HOST=127.0.0.1//數(shù)據(jù)庫(kù)主機(jī)名
DB_PORT=3306//數(shù)據(jù)庫(kù)端口
DB_DATABASE=homestead//數(shù)據(jù)庫(kù)名稱
DB_USERNAME=homestead//數(shù)據(jù)庫(kù)登錄賬戶
DB_PASSWORD=secret//數(shù)據(jù)庫(kù)登錄密碼

以上僅作為一些復(fù)雜的配置示例,您可以根據(jù)自己的業(yè)務(wù)需求來(lái)定。(個(gè)人認(rèn)為最好前后分離)

選項(xiàng)

only

如果希望限制上下文中可訪問(wèn)的內(nèi)容,可以將only帶有要允許鍵的數(shù)組傳遞給模塊選項(xiàng)

{
  modules: [
    ['@nuxtjs/dotenv', { only: ['some_key'] }],
  ]
}

path

默認(rèn)情況下,我們將從項(xiàng)目根目錄加載.env文件。如果要更改我們可以找到.env文件的文件夾的路徑,請(qǐng)使用該path選項(xiàng)。

{ 
  modules : [ 
    [ '@nuxtjs/dotenv',{path : '/path/to/my/global/env/' }],
  ] 
}

請(qǐng)注意,這是.env文件所在文件夾的路徑,而不是.env文件本身的路徑(路徑可以是絕對(duì)的或相對(duì)的)。

systemvars

默認(rèn)情況下為false,系統(tǒng)中的變量將被忽略。設(shè)置為true將允許您的系統(tǒng)設(shè)置變量起作用。

{ 
  modules : [ 
    [ '@nuxtjs/dotenv',{systemvars : true }],
  ] 
}

filename

當(dāng)我們需要為不同的環(huán)境使用不同的配置文件時(shí),我們可以覆蓋文件名。

{
  modules: [
    ['@nuxtjs/dotenv', { filename: '.env.prod' }],
  ]
}

在nuxt.config.js中使用.env文件

dotenv-module不會(huì)重載運(yùn)行構(gòu)建流程的環(huán)境變量。

如果此時(shí)需要使用.env文件中的變量,只需將require('dotenv').config()添加到nuxt.config.js

require('dotenv').config()

module.exports = {
    // your usual nuxt config.
}

由于該模塊提供的dotenv庫(kù)是依賴項(xiàng),因此可以正常工作。如果決定在模塊配置中忽略.env文件中的一些值,這里就不適用。

鏈接

github

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容