JavaScript 모듈 및 타사 라이브러리
JavaScript 모듈을 사용하여 코드 베이스를 최적화하고 관련 코드를 그룹화하거나 타사 라이브러리를 추가하고 애플리케이션 내에서 코드를 재사용합니다.
JavaScript 모듈 사용 개요
모듈은 인스턴스의 애플리케이션 내에서 공유되고 재사용되는 관련 코드가 포함된 JavaScript 파일입니다. "또는 "ServiceNow SDK으로 ServiceNow IDE 생성되거나 변환된 범위가 지정된 애플리케이션에 JavaScript 모듈과 타사 라이브러리를 추가할 수 있습니다. 애플리케이션을 빌드하기 전에 TypeScript를 사용하여 모듈을 생성하고 JavaScript로 컴파일할 수도 있습니다. 인스턴스에 애플리케이션을 설치한 후 JavaScript 모듈은 EcmaScript 모듈 [sys_module] 테이블에 저장됩니다.
모듈에서는 export 문과 함께 재사용할 코드를 식별합니다. 그런 다음 import 또는 require 문을 사용하여 애플리케이션의 다른 곳에서 코드를 다시 사용할 수 있습니다. 모듈 코드를 사용하려면 타사 npm(노드 패키지 관리자) 라이브러리를 애플리케이션에 종속성으로 추가해야 합니다. JavaScript 모듈을 만드는 데 사용되는 구문에 대한 일반적인 정보는 MDN Web Docs 웹 사이트의 JavaScript 모듈 페이지를 참조하십시오.
@servicenow/glide 패키지에서 API를 임포트해야 합니다. 자세한 내용은 서버 API 임포트 문서를 참조하십시오.제한
- 전역 애플리케이션 및 애플리케이션 사용자 지정은 지원되지 않습니다.
- 모듈은 추가된 애플리케이션 범위 내에서만 사용할 수 있습니다. 애플리케이션 범위 전체에서 사용할 수 없습니다.
- ECMAScript 기능의 하위 집합은 에 따라 JavaScript engine feature support모듈에서 지원됩니다.
- Node.js API는 모듈에서 지원되지 않습니다. 빌드 프로세스는 ServiceNow SDK 모듈을 패키징하는 동안 Node.js 내장 모듈을 폴리필하며, 그렇지 않으면 모듈은 node_modules 디렉터리에서 확인됩니다.
- 웹 API와 관련된 전역 변수는 지원되지 않습니다.
- 애플리케이션에 추가된 타사 라이브러리는 API에 액세스하거나 API를 호출 ServiceNow 할 수 없습니다.
- 타사 라이브러리의 CommonJS 모듈은 익스포트를 정의하지 않는 한 지원되지 않습니다. 하위 경로 임포트는 CommonJS 모듈에서 지원되지 않습니다. 타사 라이브러리의 ECMAScript 모듈이 지원됩니다.
- import 및 export 문은 모듈에서만 지원됩니다. 비즈니스 규칙 또는 스크립트 포함과 같은 스크립트에서 모듈 코드를 임포트하려면 require 문을 사용하십시오.
- JavaScript 모듈 [sys_module]은 ServiceNow IDEVisual Studio CodeServiceNow SDK또는 에서 .
모듈을 익스포트하는 중
export { myFunction, myVariable };모듈을 임포트하는 중
다시 사용할 모듈 코드를 임포트하려면 다른 모듈의 import 문을 사용하거나 서버 측 스크립트의 require 문을 사용하십시오.
import { feature } from 'path/to/module';const { feature } = require('path/to/module');.ts 파일 확장명을 포함해야 합니다. 예를 들어 './module.ts'에서 { feature }를 임포트합니다.{
"name": "math",
"version": "1.0.0",
"exports": {
"./functions/*.js": "./src/functions/*.js",
"./functions/private-functions/*": null
},
"imports": {
"#calc": "calculus",
"#derivative": "calculus/derivative"
},
"dependencies": {
"calculus": "1.0.0"
}
}#derivative 약어를 대신 사용할 수 있습니다. 임포트 필드에서 하위 경로를 사용하여 #calc와 같은 의존성에 약어를 사용할 수도 있습니다.import { derivative } from '#derivative';
import * as calculus from '#calc';타사 라이브러리 추가
{
"name": "test",
"version": "1.0.0",
"dependencies": {
"math": "1.0.0"
}
}서버 API 임포트
서버 API를 임포트하여 모듈에서 사용하려면 import 문을 사용하십시오. Glide API는 @servicenow/glide 패키지 또는 패키지의 네임스페이스에서 임포트할 수 있습니다.
import { API } from '@servicenow/glide';
import { API } from '@servicenow/glide/<namespace>';import { gs } from '@servicenow/glide';
import { GlideRecord } from '@servicenow/glide';sn_ws_int 네임스페이스에서 가져옵니다.import { RESTAPIRequest, RESTAPIResponse } from '@servicenow/glide/sn_ws_int';사용 가능한 서버 API에 대한 자세한 내용은 다음 문서를 참조하십시오 Server API reference.
스크립트 포함 임포트
스크립트 포함을 가져와서 모듈에서 사용하려면 import 문을 사용하십시오. 스크립트 포함은 해당 애플리케이션 범위 또는 @servicenow/Glide 패키지의 전역 범위에서 임포트할 수 있습니다.
import { global } from '@servicenow/glide/global';
import { ScriptInclude } from '@servicenow/glide/<scope>';스크립트 포함에 대한 자세한 내용은 다음 문서를 참조하십시오 Script includes.