我正在使用需要JSON配置文件的第三方库,我需要将一些env变量作为键值传递.如果我像往常一样包括它们,例如:
"s3": {
"key": process.env.AWS_ACCESS_KEY_ID,
"secret": process.env.AWS_SECRET_ACCESS_KEY,
"bucket": process.env.S3_MLL_BUCKET_NAME,
"destination": "/backups/database",
"encrypt": false,
"region": process.env.AWS_REGION
}
Run Code Online (Sandbox Code Playgroud)
......我收到错误:
SyntaxError: config/s3_backup.config.json: Unexpected token p
Run Code Online (Sandbox Code Playgroud)
dto*_*oux 16
JSON没有环境变量的概念.您可以做的是将配置文件声明为node.js模块,然后您将能够使用您的环境变量,如下所示:
module.exports = {
s3: {
key: process.env.AWS_ACCESS_KEY_ID,
secret: process.env.AWS_SECRET_ACCESS_KEY,
bucket: process.env.S3_MLL_BUCKET_NAME,
destination: "/backups/database",
encrypt: false,
region: process.env.AWS_REGION
}
};
Run Code Online (Sandbox Code Playgroud)
我遇到了同样的问题,对我有用的是使用 js 文件并导出一个对象module.exports = {config: {"exampleAPIKey":"ruier4343"}}...然后“字符串化”该对象,然后将其解析回 json
const config = require("./jsConfigs.js").config;
const jsonConfig = JSON.parse(JSON.stringify(config))
我已经尝试了很多不同的方法,但这是唯一一种工作了。
| 归档时间: |
|
| 查看次数: |
25004 次 |
| 最近记录: |