package.json
파일에서 Node.js 앱의 종속 항목을 선언하여 지정합니다.
예를 들어 Lodash를 종속 항목으로 지정하려면 package.json
파일이 다음과 같이 표시됩니다.
{
"dependencies": {
"lodash": "^4.0.1"
}
}
배포 중에 Node.js 런타임은 package.json
파일에 선언된 모든 dependencies
를 자동으로 설치합니다. 기본적으로 npm install
명령어가 사용되지만 Yarn 및 Pnpm 패키지 관리자도 지원됩니다.
Yarn:
yarn.lock
파일이 있으면yarn install --production
명령어가 대신 사용됩니다.Pnpm:
pnpm-lock.yaml
파일이 있으면pnpm install
명령어가 대신 사용됩니다.
yarn.lock
또는 pnpm-lock.yaml
파일이 app.yaml
파일의 skip_files
섹션에 지정되지 않았는지 확인해야 합니다.
기본적으로 App Engine은 가져온 종속 항목을 캐시하여 빌드 시간을 단축합니다. 종속 항목의 캐시되지 않은 버전을 설치하려면 다음 명령어를 사용하세요.
gcloud app deploy --no-cache
표준 환경에서 package.json
파일의 지원 및 제한사항은 다음과 같습니다.
네이티브(C) 확장이 필요한 패키지를 포함하여 모든 Linux 호환 Node.js 패키지를 App Engine과 함께 사용할 수 있습니다.
package.json
에engines
필드가 지정된 경우 호환 가능한 Node.js 버전을 정의해야 합니다.devDependencies
필드에서 정의하는 모든 종속 항목은 무시되며 App Engine의 앱에 설치되지 않습니다.최상의 성능을 위해서는
start
스크립트가 가벼워야 하고 빌드 단계를 제외해야 합니다. 애플리케이션의 새 인스턴스가 생성될 때마다 이 스크립트가 실행되기 때문입니다.
Artifact Registry를 사용하는 비공개 종속 항목
앱에서 비공개 npm 모듈이 사용되는 경우 Artifact Registry Node.js 패키지 저장소를 사용해서 비공개 종속 항목을 호스팅할 수 있습니다. 앱을 배포할 때 빌드 프로세스에서는 Cloud Build 서비스 계정에 대해 Artifact Registry 사용자 인증 정보가 자동으로 생성되므로, 추가 사용자 인증 정보를 생성할 필요가 없습니다.
비공개 종속 항목을 포함하려면 Artifact Registry 저장소를 나열하고 앱 디렉터리의 .npmrc
파일에서 레지스트리를 사용하여 인증 설정을 구성합니다. 예를 들면 다음과 같습니다.
@SCOPE:registry=https://REGION_ID-npm.pkg.dev/PROJECT_ID/REPOSITORY_NAME
//REGION_ID-npm.pkg.dev/PROJECT_ID/REPOSITORY_NAME:always-auth=true
이 방법은 Yarn v1 패키지 관리자에도 적용됩니다.
Yarn v2 이상을 사용하는 경우 Artifact Registry 저장소를 나열하고 앱 디렉터리의 .yarnrc.yml
파일에서 레지스트리로 인증하기 위한 설정을 구성합니다. 예를 들면 다음과 같습니다.
npmScopes:
SCOPE:
npmRegistryServer: https://REGION_ID-npm.pkg.dev/PROJECT_ID/REPOSITORY_NAME
npmAlwaysAuth: true
그런 후 package.json
파일에 패키지를 포함합니다. 예를 들면 다음과 같습니다.
{
"dependencies": {
" @SCOPE/my-package": "^1.0.0"
}
}
웹 프레임워크 설치
앱에서 웹 요청을 처리할 수 있도록 하려면 웹 프레임워크를 사용해야 합니다. 다음을 비롯하여 모든 Node.js 웹 프레임워크를 사용할 수 있습니다.
Express.js와 같은 특정 웹 프레임워크를 사용하려면 package.json
파일에 프레임워크를 추가합니다.
예를 들어 결과로 반환되는 package.json
파일은 다음과 같습니다.
{
"dependencies": {
"lodash": "^4.0.1",
"express": "^4.16.2"
}
}
Cloud 클라이언트 라이브러리 설치
Node.js용 Cloud 클라이언트 라이브러리는 Node.js 개발자가 Datastore 모드의 Firestore(Datastore) 및 Cloud Storage와 같은 Google Cloud 서비스와 통합하기 위해 일반적으로 사용하는 방법입니다.
Cloud Storage용 Node.js 클라이언트 라이브러리를 설치하려면 다음 안내를 따르세요.
패키지 관리자를 사용하여 Cloud Client 라이브러리를 로컬로 설치합니다.
npm
을 사용하려면 다음을 실행합니다.npm install --save @google-cloud/storage
yarn
을 사용하려면 다음을 실행합니다.yarn add @google-cloud/storage
pnpm
을 사용하려면 다음을 실행합니다.pnpm add @google-cloud/storage
인증을 설정합니다. 자동 인증 처리를 위해 Node.js용 Cloud 클라이언트 라이브러리를 구성할 수 있습니다.
Cloud Storage용 Node.js 클라이언트 라이브러리 참조에 따라 앱에서 Cloud Storage 서비스 지원을 구현합니다.