환경
handler.ts
import serverless from 'serverless-http';
import express from 'express';
import dotenv from 'dotenv';
dotenv.config({ path: `./.env.${String(process.env.NODE_ENV)}` });
console.log(String(process.env.NODE_ENV), String(process.env.TEST));
const app = express();
app.get('/', (_req, res) => {
return res.status(200).json({
message: 'Hello from root!',
});
});
app.get('/hello', (_req, res) => {
return res.status(200).json({
message: 'Hello from path!',
});
});
app.use((_req, res) => {
return res.status(404).json({
error: 'Not Found',
});
});
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
module.exports.handler = serverless(app);
package.json
"scripts": {
"deploy:local": "NODE_ENV=local sls offline start"
}
package.json에서 배포 시 NODE_ENV를 local로 지정해준다.
handler.ts에서는 dotenv를 import하고 환경에 따라 .env파일을 읽는다.