Docs Menu
Docs Home
/
MongoDB Atlas
/ / /

외부 종속성

이 페이지의 내용

  • 외부 패키지 추가
  • 이름 및 버전별로 패키지 추가
  • 종속성 디렉토리 업로드
  • 함수에서 패키지 가져오기
  • 전체 모듈 가져오기
  • 모듈 하위 폴더 가져오기

외부 종속성은 직접 구현할 수 없거나 구현하고 싶지 않은 코드가 포함된 라이브러리입니다. 예를 들어 외부 서비스를 위한 공식 라이브러리를 사용하거나 데이터 구조 또는 알고리즘의 사용자 정의 구현을 사용할 수 있습니다.

Atlas 는 종속성을 자동으로 변환하고 대부분 내장 Node.js 모듈도 지원합니다.

참고

나만의 모듈 만들기

대부분의 npm 모듈은 타사에서 작성하지만, 애플리케이션 에 특정한 로직을 포함하도록 자체 npm 모듈을 만들어 게시할 수도 있습니다. 모듈을 Node.js 커뮤니티에 제공하거나 비공개로 예약할 수 있습니다. 자세한 내용은 레지스트리에 패키지 기여 에 대한 npm 가이드 를 참조하세요. .

외부 종속성을 가져와서 사용하려면 먼저 애플리케이션에 종속성을 추가해야 합니다. 이름으로 패키지를 추가하거나 종속성의 디렉토리를 업로드할 수 있습니다.

중요

기존 종속성 재정의

앱에서 사용할 외부 패키지를 지정하는 데는 한 번에 한 가지 방법만 사용할 수 있습니다. 종속성을 지정하는 데 사용한 가장 최근 방법이 정보의 소스이며, 이 방법이 이전 사양을 재정의합니다.

예를 들어, UI를 통해 이름으로 추가한 패키지는 업로드된 종속성 디렉토리에 있는 패키지를 포함하여 이전에 추가한 동일한 패키지의 모든 사본보다 우선합니다.

npm 레지스트리 에서 패키지를 추가할 수 있습니다. 이름으로 앱에 추가합니다. 특정 버전을 추가하거나 최신 버전을 사용할 수 있습니다.

1
  1. Triggers 페이지로 이동

    1. 아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.

    2. 아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.

    3. 사이드바에서 Services 제목 아래의 Triggers 을 클릭합니다.

      트리거 페이지가 표시됩니다.

  2. 종속성을 추가하려는 트리거를 선택합니다.

  3. Edit Trigger 페이지에서 Function 섹션으로 Add Dependency 이동하여 을(를) 클릭합니다.

2
  1. Add Dependency 모달 창 에 다음 정보를 포함합니다.

    필드
    설명
    패키지 이름 정의
    npm 패키지의 이름입니다.
    패키지 버전
    선택 사항. 사용할 종속성의 특정 버전입니다. 기본값 으로 Atlas 함수는 사용 가능한 최신 버전을 사용합니다.
  2. 패키지 를 추가하려면 Add 를 클릭합니다.

창 하단의 진행률 추적기에서 종속성 추가 상태를 추적할 수 있습니다. 진행률 추적기는 패키지가 성공했는지 실패했는지 알려주는 메시지를 제공합니다. 실패 메시지에는 패키지를 추가할 수 없는 이유에 대한 추가 정보가 포함되어 있습니다.

3

종속성을 성공적으로 추가하면 기본 Triggers 페이지의 Dependencies 탭 에 있는 종속성 목록에 표시됩니다.

압축된 패키지의 node_modules 디렉토리를 앱에 업로드할 수 있습니다. 압축된 종속성 디렉토리는 15MB를 초과할 수 없습니다.

중요

기존 종속성 덮어쓰기

아카이브를 가져오면 기존 종속성이 제거됩니다.

1

외부 종속성을 업로드하려면 먼저 Node.js 패키지가 하나 이상 포함된 로컬 node_modules 폴더가 있어야 합니다. 다음 코드 스니펫을 사용하여 업로드하려는 종속성을 로컬에 설치할 수 있습니다.

npm install <package name>

node_modules 폴더가 아직 없는 경우 이 명령은 자동으로 폴더를 만듭니다.

참고

다른 설치 방법

package.json을 구성하고 npm install 명령을 실행하여 package.json 목록에 있는 모든 패키지(및 해당 종속성)를 설치할 수도 있습니다.

npm 및 node_modules에 대해 자세히 알아보려면 npm 문서를 참조하세요.

2

이제 모든 npm 모듈을 다운로드했으므로 Atlas 에 업로드할 수 있도록 아카이브에 패키지 해야 합니다. Atlas 는 .tar, .tar.gz, .tgz.zip 아카이브 형식을 지원합니다.

node_modules 폴더가 포함된 아카이브를 만듭니다.

tar -czf node_modules.tar.gz node_modules/
3

종속성을 포함하는 아카이브를 만든 후 Atlas UI 를 사용하여 종속성 아카이브를 업로드할 수 있습니다.

  1. Triggers 페이지로 이동

    1. 아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.

    2. 아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.

    3. 사이드바에서 Services 제목 아래의 Triggers 을 클릭합니다.

      트리거 페이지가 표시됩니다.

  2. 0}Dependencies 탭을 선택합니다.

  3. Upload Folder를 클릭합니다.

  4. 모달에서 Upload Folder 을 클릭한 다음 방금 생성한 node_modules.tar.gz 아카이브를 선택합니다.

  5. Add 을(를) 클릭합니다. Atlas 는 아카이브 파일 을 업로드하며, 인터넷 연결 속도와 종속성 아카이브의 크기에 따라 몇 분 정도 걸릴 수 있습니다.

  6. Atlas 는 작업의 성공 또는 실패를 나타내는 배너를 표시합니다. 성공적인 하면 Dependencies 탭 에 종속성 아카이브에 포함된 종속성 목록이 표시됩니다.

    • 초안이 활성화된 경우 이러한 변경 사항을 적용 Review & Deploy 도 클릭해야 합니다.

    • 초안을 비활성화하면 종속성 아카이브의 크기에 따라 5 ~ 60 초 내에 변경 사항이 적용됩니다.

앱에 추가한 기본 제공 모듈과 외부 패키지를 가져온 다음, 이를 함수에서 사용할 수 있습니다. 패키지를 가져오려면 함수 본문에서 패키지 이름을 사용해 require()를 호출합니다.

중요

모듈은 어디에서 가져올 수 있나요?

Node.js 프로젝트는 일반적으로 각 파일 의 전역 범위에 require() 호출을 배치하지만 Atlas 는 이 패턴 을 지원 하지 않습니다. 함수 범위 내에 require() 호출을 배치 해야 합니다 .

exports = () => {
const R = require("ramda");
return R.map(x => x*2, [1,2,3]);
}
exports = function(arg){
const cloneDeep = require("lodash/cloneDeep");
var original = { name: "Deep" };
var copy = cloneDeep(original);
copy.name = "John";
console.log(`original: ${original.name}`);
console.log(`copy: ${copy.name}`);
return (original != copy);
};

돌아가기

Global Modules