1

nconf在一个 NodeJS 项目中使用,我想使用 claudia.js 将其部署到 AWS Lambda。我遵循了这个例子

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.

但是,当我尝试使用它部署到 Lambda 时,claudia create ..它只会停在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

如果我导出 aclass而不是 a 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;
4

0 回答 0