我有一个用 ES6和 Typescriptfoo编写的库。import/export
我有一个bar使用foo. bar也是用导出和 Typescript 编写的。我想bar在 AWS Lambda 上运行。
据我所知,我无法import/export在 Lambda(运行时节点 14.x)中使用
export const handler = async () => {...};
Run Code Online (Sandbox Code Playgroud)
会报错,但是
exports.handler = async () => {...};
Run Code Online (Sandbox Code Playgroud)
将不会。
所以在我的内部tsconfig我已经设置了:
"target": "ES5", (or ES6)
"module": "CommonJS",
Run Code Online (Sandbox Code Playgroud)
在编译器选项下。
这样,在 Lambda 上运行时我会收到错误,因为它现在尝试访问require该foo库并表示它必须使用import.
我怎样才能实现我的最终目标?
在我看来,有 3 个选项,但我对其中没有一个了解很多,因为我对 JS 的细微差别还很陌生。
bar应用程序转译,或者使用 webpack,或者任何可以import在 cjs 中复制的工具。foo库也包含一个 CJS 发行版(开始这样做时,我遇到了很多错误,我必须让该库在 es6 …