온톨로지FunctionsTypeScript basicsnpm 종속성 추가

본 번역은 검증되지 않았습니다. AIP를 통해 영문원문으로부터 번역되었습니다.

npm 종속성 추가

Functions 저장소는 Foundry 온톨로지를 기반으로 코드를 생성하고 코드에서 Functions를 찾는 패키지를 포함하여 종속성을 관리하기 위해 npm을 사용합니다. 숫자와 날짜를 조작하거나 통계 연산을 수행하거나 XML과 같은 데이터 형식을 처리하는 목적으로 표준 패키지를 사용하여 저장소에 외부 종속성을 설치할 수 있습니다.

Functions 런타임은 NodeJS 런타임에 의존하고 시스템 호출을 하는 패키지를 지원하지 않으며 순수 JavaScript 라이브러리만 지원합니다.

공개 npm 레지스트리에서 종속성 가져오기 활성화

기본적으로, Functions 저장소는 공개 npm 레지스트리에서 패키지를 가져오지 않습니다.

저장소가 아직 공개 npm 레지스트리에서 종속성을 가져오지 않는 경우, Code Repositories에서 package.json 파일을 열 때 이를 활성화하기 위한 배너가 나타납니다.

Code Repositories에서 외부 npm 활성화.

Code Repositories에서 종속성 추가

Code Repositories의 라이브러리 사이드바를 사용하여 Functions 저장소에 패키지를 추가할 수 있습니다. 원하는 패키지를 검색하고 결과를 선택하여 최신 버전 등의 세부 정보를 확인합니다. 결과에는 Foundry와 https://npmjs.com의 패키지가 포함됩니다.

Code Repositories 사이드바에서 라이브러리 추가.

package.json 파일에 패키지를 dependencies 또는 devDependencies에 추가할지 선택합니다. 라이브러리 추가 및 설치를 선택하여 저장소에 패키지를 추가합니다.

라이브러리를 추가하기 전에 라이브러리 종속성 변경사항 확인.

패키지의 원래 저장소가 아직 백업 저장소로 설정되지 않은 경우, 추가 리소스를 가져오라는 대화 상자가 나타납니다. 라이브러리 추가 및 설치 버튼은 패키지와 그 종속성을 자동으로 Functions 저장소로 가져와 package.jsonpackage-lock.json을 업데이트합니다.

설치 작업이 완료되면 패키지가 저장소에서 사용할 준비가 됩니다.

typescript-functions 템플릿 버전이 0.520.0보다 낮은 경우, 작업 실행기를 통한 설치가 해제됩니다. 이 경우, 업데이트된 package.json 파일을 커밋하고 체크가 성공적으로 통과되었는지 확인한 다음 새 패키지를 사용할 수 있도록 Code Assist를 다시 시작합니다.

수동으로 종속성 추가

Code Repositories에서 package.json 파일을 수정하여 패키지를 수동으로 추가할 수 있습니다. 이는 특정 패키지 버전을 설치해야 하는 경우에 유용할 수 있습니다. package.json을 열고, https://npmjs.com에서 선택한 관련 버전으로 종속성을 추가하고, Commit을 선택합니다. 체크가 성공적으로 통과되었는지 확인한 후 새 패키지를 사용할 수 있도록 Code Assist를 다시 시작합니다.

상태 바 위에 마우스를 올려 놓고 상태 심볼을 선택하여 Code Assist 다시 시작.

아래는 저장소의 package.json 파일에 d3-array 패키지를 수동으로 추가하는 예입니다:

Copied!
1 2 3 4 5 6 7 8 "dependencies": { // 프로젝트에 필요한 의존성들을 명시하는 곳입니다. ... "d3-array": "^2.3.1" // "d3-array"는 데이터 시각화 라이브러리인 d3의 배열 관련 메서드를 포함하고 있습니다. "^2.3.1"는 2.3.1 버전 이상을 사용함을 의미합니다. }, "devDependencies": { // 개발 중에만 필요한 의존성들을 명시하는 곳입니다. ... "@types/d3-array": "^2.0.0" // "@types/d3-array"는 TypeScript를 위한 d3-array의 타입 정의입니다. "^2.0.0"는 2.0.0 버전 이상을 사용함을 의미합니다. }