웹 확장의 라이브러리 모듈

참고:Adobe Experience Platform Launch은 Experience Platform에서 데이터 수집 기술 세트로 브랜드 재지정되었습니다. 이러한 변경 사항은 앞으로 몇 주 안에 모든 제품 설명서에서 롤아웃됩니다. 용어 변경 내용을 통합 참조하려면 다음 document을 참조하십시오.

중요

이 문서에서는 웹 확장에 대한 라이브러리 모듈 형식을 다룹니다. Edge 확장을 개발하는 경우 대신 Edge 확장 모듈 형식 지정에 대한 안내서를 참조하십시오.

라이브러리 모듈은 Adobe Experience Platform Launch 런타임 라이브러리(클라이언트의 웹 사이트에서 실행되는 라이브러리)에서 전달되는 확장에서 제공하는 재사용 가능한 코드의 일부입니다. 예를 들어, gesture 이벤트 유형에는 클라이언트의 웹 사이트에서 실행되고 사용자 제스처를 감지하는 라이브러리 모듈이 있습니다.

라이브러리 모듈은 CommonJS 모듈로 구성됩니다. CommonJS 모듈 내에서 사용할 수 있는 변수는 다음과 같습니다.

require

액세스하기 위해서는 require 함수를 사용할 수 있습니다.

  1. Platform Launch에서 제공하는 핵심 모듈입니다. 이러한 모듈은 require('@adobe/reactor-name-of-module')를 사용하여 액세스할 수 있습니다 . 자세한 내용은 사용 가능한 핵심 모듈에 대한 문서를 참조하십시오.
  2. 확장 내의 다른 모듈입니다. 확장의 모든 모듈은 상대 경로를 통해 액세스할 수 있습니다. 상대 경로는 ./ 또는 ../로 시작해야 합니다 .

사용 예시:

var cookie = require('@adobe/reactor-cookie');
cookie.set('foo', 'bar');

module

이름이 module인 자유 변수를 사용하여 모듈의 API를 내보낼 수 있습니다.

사용 예시:

module.exports = function(…) { … }

exports

이름이 exports인 자유 변수를 사용하여 모듈의 API를 내보낼 수 있습니다.

사용 예시:

exports.sayHello = function(…) { … }

이는 module.exports의 대안이지만, 사용이 보다 제한적입니다. exports 사용 시 module.exportsexports 사이의 차이점 및 관련 주의 사항을 더 잘 이해하려면 node.js의 module.exports 및 내보내기 이해하기를 참조하십시오 . 확실하지 않은 경우에는 exports가 아닌 module.exports를 사용하면 보다 편리한 작업이 가능합니다.

실행 및 캐싱

Platform Launch 런타임 라이브러리가 실행되면 모듈이 즉시 "설치"되고 해당 모듈은 캐시됩니다. 다음 모듈의 경우:

console.log('runs on startup');

module.exports = function(settings) {
  console.log('runs when necessary');
}

runs on startup은 즉시 기록되지만, runs when necessary는 내보낸 함수를 Platform Launch 엔진에서 호출한 이후에만 기록됩니다. 특정 모듈의 용도는 필요하지 않지만, 함수를 내보내기 전에 필요한 설정을 수행하여 이 기능을 활용할 수 있습니다.

이 페이지에서는