不知道大家有沒有發現昨天有個小麻煩
因為是json檔案,所以我們沒辦法直接引入.env的資料
這樣我們就會明碼紀錄了耶...
這邊我有找到兩個解決方式
我認為比較快速的解決方法之一
直接在製作一個.example檔案,並把真實資料放進gitignore
這樣最省事
解決方法2
是我網路上找到的但一直沒辦法成功,最後再翻文件,跟網路上很多人使用方式不太一樣。總之,我是要提供給大家這個方法嚕
這玩意大概是在說,因為內建是json,但我也可透過一個叫做.sequelizerc的檔案來達到可以讀取js哦
於是我們就跟著做一下
接著
require('dotenv').config()
const fs = require('fs');
module.exports = {
development: {
username: process.env.DB_USERNAME,
password: process.env.DB_PASSWORD,
database: process.env.DB_DATABASE,
host: process.env.DB_HOST,
port: 3306,
dialect: 'mysql',
dialectOptions: {
bigNumberStrings: true
}
},
test: {
username: process.env.CI_DB_USERNAME,
password: process.env.CI_DB_PASSWORD,
database: process.env.CI_DB_NAME,
host: '127.0.0.1',
port: 3306,
dialect: 'mysql',
dialectOptions: {
bigNumberStrings: true
}
},
production: {
username: process.env.PROD_DB_USERNAME,
password: process.env.PROD_DB_PASSWORD,
database: process.env.PROD_DB_NAME,
host: process.env.PROD_DB_HOSTNAME,
port: process.env.PROD_DB_PORT,
dialect: 'mysql',
dialectOptions: {
bigNumberStrings: true,
ssl: {
ca: fs.readFileSync(__dirname + '/config.js')
}
}
}
};
然後把檔案從config.json -> config.js
再把去跑一次
登愣~我們就把.env放進去拉~~
我花了不少時間在找這些東西,不過不確定會不會影響後面的坑,或許直接選用方法一會比較快速
希望也能幫助到你