我有我的文件users.env inner routes / querys / users.env
module.exports = {
GET_USERS: "SELECT * FROM users",
CREATE_USER: "INSERT INTO users ("id", "first_name", "last_name", "active") VALUES (NULL, '%PARAM1%', '%PARAM2%', '1');"
}
是否可以将params1和params 2发送到.env文件并返回完整的字符串? 我可以让env var string不完整,并在创建函数后将%PARAMS_1%替换为value,但我需要其他选项
答案 0 :(得分:1)
你可以这样做:
module.exports = (param1, param2) => {
GET_USERS: "SELECT * FROM users",
CREATE_USER: (!!param1 && !!param2) ?
`INSERT INTO users ("id", "first_name", "last_name", "active") VALUES (NULL, '${param1}', '${param2}', '1');` :
"INSERT INTO users (\"id\", \"first_name\", \"last_name\", \"active\") VALUES (NULL, '%PARAM1%', '%PARAM2%', '1');"
}
在require中接受2个参数并在字符串中连接它们,或者如果传入的参数是假的,则返回原始值。您需要更改调用代码以使用类似:
const userFunctions = require('./env')(); // raw string
const populatedUserFunctions = require('./env')('hello', 'world'); // with param1 and param2