netlify.toml
[build]
functions = "functions"
functions/hello.js
exports.handler = async function(event, context) {
// event 객체
/*{
"path": "Path parameter (original URL encoding)",
"httpMethod": "Incoming request’s method name",
"headers": {Incoming request headers},
"queryStringParameters": {Query string parameters},
"body": "A JSON string of the request payload",
"isBase64Encoded": "A boolean flag to indicate if the applicable request payload is Base64-encoded"
}*/
// 아래와 같이 response를 리턴 한다.
return {
statusCode: 200,
body: JSON.stringify({ message: "Hello World" }),
};
}
아래와 같이 netlify 주소 /.netlify/functions/hello
에서 함수 결과 값을 리턴 받을 수 있다.
package.json
명령어 scripts에 "dev:netlify": "netlify dev"
추가
Netlify CLI 설치
npm i -D netlify-cli
netlify.toml
# Netlify Dev
# https://cli.netlify.com/netlify-dev/#netlifytoml-dev-block
# 제품 모드
[build]
command = "npm run build"
functions = "functions" # Netlify 서버리스 함수가 작성된 디렉토리를 지정합니다.
publish = "dist" # 프로젝트 빌드 결과의 디렉토리를 지정합니다.
# 개발 모드
[dev]
framework = "#custom" # 감지할 프로젝트 유형을 지정합니다. 앱 서버 및 `targetPort` 옵션을 실행하는 명령 옵션은 `#custom`입니다.
command = "npm run dev:webpack" # 연결할 프로젝트의 개발 서버를 실행하는 명령(스크립트)을 지정합니다.
targetPort = 8079 # 연결할 프로젝트 개발 서버의 포트를 지정합니다.
port = 8080 # 출력할 Netlify 서버의 포트를 지정합니다.
publish = "dist" # 프로젝트의 정적 콘텐츠 디렉토리를 지정합니다.
autoLaunch = false # Netlify 서버가 준비되면 자동으로 브라우저를 오픈할 것인지 지정합니다.