2017-08-29 115 views
0

我想將我的數據庫環境變量添加到.env文件中,並在我的Javascript程序中使用該文件,以便使用Node.j創建與我的數據庫的連接。如何將數據庫環境變量添加到Javascript

因此,這裏是我的數據庫信息,我用它來創建連接:

var con = mysql.createConnection({ 
    host: "localhost", 
    user: "root", 
    password: "my password", 
    database: "mydatabase" 
}); 

然後,我嘗試檢查,如果我使用這些線連接到我的數據庫:

(它應打印「連接的!」)。

con.connect(function(err) { 
    if (err) throw err; 
    console.log("Connected!"); 
}); 

我想提出的一個代碼塊中的其他文件和require,在我的Node.js的程序文件。

我該怎麼做?我應該如何require該文件?預先感謝您:)

回答

0

我建議使用dotenv package

自述直摘自:

  1. 儘可能早在你的應用程序,要求和配置dotenv。

    require('dotenv').config()

  2. 創建.env文件在你的項目的根目錄。以NAME=VALUE的形式在新行上添加 環境特定變量。例如:

    DB_HOST=localhost DB_USER=root DB_PASS=s1mpl3

  3. 用法(process.env現在有項和值在您.env文件中定義)。

    var db = require('db') db.connect({ host: process.env.DB_HOST, username: process.env.DB_USER, password: process.env.DB_PASS })

注意:請確保您的.gitignore有一個條目忽略.env文件。

+0

太棒了!謝謝。 –

+0

我只是不確定這條線: 'var db = require('db')' 你能解釋一下嗎? db是指什麼? –

+0

@ZahraGolpa本例中的'db'幾乎等同於'var con = mysql.createConnection({...});'。這是組織代碼並實例化與數據庫的連接的一種不同方式。 – Peter

0

您可以使用一個名爲dotenv的模塊,它將加載在.env文件或您指定的任何文件中定義的環境變量。這樣,你會加載.env在兩個方面:

  1. 在主腳本文件,調用require('dotenv').config()
  2. 通過NPM腳本:"dev": "node -r dotenv/config app.js"

無論是工作,但你不想犯.env到源代碼管理。始終保留敏感憑據。您可以創建一個.env.example以提醒新用戶所需的變量。

+0

非常感謝您的幫助@fransiscoMateo –