我在 NodeJS 项目中使用 nconf
,我想使用 claudia.js 将其部署到 AWS Lambda。我已关注此example:
const path = require('path');
const nconf = require('nconf');
function Configuration(){
nconf.argv().env({ lowerCase: true,separator: '_' });
let defaultJsonPath = path.join(__dirname,'default.json');
console.log(`Using default config at ${defaultJsonPath}`);
nconf.file("default",defaultJsonPath);
}
Configuration.prototype.get = function(key) {
return nconf.get(key);
};
module.exports = new Configuration();
使用 claudia-local-api
在我的本地机器上测试时,此代码运行良好。
但是,当我尝试使用 claudia create ..
部署到 Lambda 时,它只是在 validating package
处停止而没有任何错误。
claudia create --verbose --profile wgmtest --version dev --region eu-west-1 --api-module app
packaging files npm install -q --no-audit --production
npm WARN claudia@1.0.0 No description
npm WARN claudia@1.0.0 No repository field.
added 21 packages from 18 contributors in 0.339s
2 packages are looking for funding
run `npm fund` for details
validating package
5.12.0
如果我导出 class
而不是 function
,claudia create
命令可以正常工作(见下文)。我想了解这里的问题是什么,或者至少我如何获得问题的一些额外日志输出。
const path = require('path');
const nconf = require('nconf');
class Configuration {
constructor() {
nconf.argv().env({ lowerCase: true,separator: '_' });
let defaultJsonPath = path.join(__dirname,'default.json');
console.log(`Using default config at ${defaultJsonPath}`);
nconf.file("default",defaultJsonPath);
}
static get(key) {
return nconf.get(key);
}
}
module.exports = Configuration;