地址:https://www.homwang.com 歡迎大家性能測(cè)試
交流討論——QQ群號(hào):604203227
?? Dotenv
介紹
該模塊用于環(huán)境變量配置,用于將.env文件加載到上下文中使用。
特性
直接從您的.env文件的模塊加載變量到您的nuxt.js應(yīng)用程序context和process.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文件中的一些值,這里就不適用。