0

在我使用集成了反向代理的 http api 网关的 lambda 中,我需要检查 API 的不同路由。我现在有 2 个index.js文件,在主文件中,我有处理程序:

...
const read_all_Todos = require("./lib/read_all/index");

const main = (event, context, callback) => {

    let httpMethodCall = event.requestContext.http.method;
    let itsCallingFrom = event.rawPath;

    switch (itsCallingFrom) {
        case '/v1/listalltodos':
            read_all_Todos.test(event, context, callback);
            break;
        default:
            return callback(null, { method: httpMethodCall, rawPath: itsCallingFrom });
    }
};

...

在我的另一个文件上:

export function test(event, context, callback) {
    let httpMethodCall = event.requestContext.http.method;
    let itsCallingFrom = event.rawPath;
    
    return callback(null, { method: httpMethodCall, rawPath: itsCallingFrom });
}

/v1/listalltodos当用户访问我看到的网址时message "Internal Server Error"

这里有什么问题?

编辑:

每次我尝试在日志上导出函数时,我都会看到: "errorMessage": "SyntaxError: Unexpected token 'export'",

那么在 lambda 中导出方法的正确方法是什么?

4

1 回答 1

0

好吧,我想通了,它给出了内部服务器错误,因为它不使用常见的导出 JavaScript 实践,这就是它必须完成的方式:

1-您照常导入文件:

const read_all_todos = require("./lib/read_all/ReadAllTodos");

2-你在同一个文件中调用它:read_all_todos.foo();

3-这是关键/不同的部分,您可以像这样定义导出

function internal_foo () {
    console.log("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
    return 1;
}

module.exports.foo = internal_foo;

如您所见,您必须将其导出为模块,如果您只编写 export ... 它会引发内部服务器错误。

于 2021-02-05T23:05:04.257 回答