「export const handler = async (event) => {」と
「exports.handler = async (event) => {」は、
基本的な構文の違いがあります。Node.jsにおいて、モジュールのエクスポート方法に関連しています。
export const handler = async (event) => {
これはECMAScriptモジュール(ESM)のエクスポート構文です。ESMはNode.js 14以降でサポートされています。この形式を使用すると、モジュールのエクスポートとインポートにimport
およびexport
キーワードを使用できます。
(新しい方)exports.handler = async (event) => {
これはCommonJSモジュールのエクスポート構文です。Node.jsの古いバージョンから使用されており、多くの既存のNode.jsコードで見られます。exports
オブジェクトを使用して、モジュールのエクスポートを行います。
(古い方)
一般的に、新しいプロジェクトやNode.jsバージョン14以降を使用する場合、ESM構文(export
キーワード)(1の方)を使用することが推奨されています。ただし、既存のコードベースやCommonJSモジュールを使用する必要がある場合は、exports(古い方)
を使用することもできます。
選択肢はどちらも正しい構文であり、どちらを選ぶかはプロジェクトの要件とNode.jsバージョンに依存します。ただし、新しいプロジェクトではESMを使用することが一般的になっています。