소스 코드의 사용자 지정 애플리케이션 구성
소스 코드의 애플리케이션에 대한 now.config.json 파일에서 사용자 지정 애플리케이션 [sys_app]을 구성합니다.
디렉터리 구조와 같은 소스 코드에서 애플리케이션 개발과 관련된 애플리케이션 설정 및 측면을 구성할 수 있습니다. now.config.json 파일에서 다음 매개변수를 추가하여 애플리케이션 설정을 구성합니다.
| 매개변수 | 유형 | 설명 |
|---|---|---|
| appOutputDir | 문자열 | 패키징을 위해 빌드 아티팩트를 출력할 디렉터리입니다. pack 및 install 명령은 이 디렉터리를 참조하여 아티팩트를 패키지합니다.
기본값: dist/app |
| 클라이언트디렉터리 | 문자열 | React로 사용자 인터페이스를 개발하기 위한 클라이언트 측 파일이 포함된 디렉터리입니다. 기본값: src/client |
| 의존성 | 객체 | 애플리케이션이 종속된 다른 애플리케이션 범위의 항목입니다. 애플리케이션 범위와 의존성 유형 및 이름 또는 sys_ids 지정해야 합니다.자세한 내용은 애플리케이션 종속성 다운로드 ServiceNow Fluent 문서를 참조하십시오. |
| fluentDir | 문자열 | 소스 코드에서 애플리케이션 메타데이터를 정의하는 파일(.now.ts)이 포함된 ServiceNow Fluent 디렉터리입니다. 기본값: src/fluent |
| generatedDir | 문자열 | 코드로 변환된 기존 애플리케이션 메타데이터를 포함하여 생성된 ServiceNow Fluent 파일이 포함된 디렉터리입니다.ServiceNow Fluent 이 디렉터리는 매개변수로 fluentDir 정의된 디렉터리를 기준으로 합니다. 기본값: generated |
| ignoreTransformTableList | 배열 | 애플리케이션 메타데이터를 소스 코드로 변환할 때 무시할 테이블 목록입니다. |
| metadataDir | 문자열 | 애플리케이션의 메타데이터를 XML 파일로 포함하는 디렉터리입니다. 기본값: 메타데이터 |
| 모듈 경로 | 객체 | 애플리케이션을 빌드하기 전에 사용자 지정 변환 단계를 사용하는 경우 모듈 소스 파일을 해당 출력 파일에 매핑합니다. 자세한 내용은 JavaScript 모듈에서 TypeScript를 사용하여 ServiceNow SDK 문서를 참조하십시오. 경고: 이 매개변수와 tsconfigPath 매개변수는 사용할 수 없습니다. 둘 다 구성하면 오류가 발생합니다. |
| packOutputDir | 문자열 | 애플리케이션을 빌드할 때 설치 가능 패키지(.zip 파일)를 출력할 디렉터리입니다. 설치 명령은 이 디렉터리를 참조하여 패키지를 설치합니다. 기본값: target |
| serverModulesDir | 문자열 | 서버 측 스크립트에서 사용하기 위해 JavaScript 모듈에 빌드할 JavaScript 또는 TypeScript 파일이 들어있는 디렉터리입니다. 기본값: src/server |
| serverModulesExcludePatterns | 배열 | JavaScript 모듈을 빌드할 때 제외할 파일 패턴의 목록입니다. 기본값: |
| serverModulesIncludePatterns | 배열 | JavaScript 모듈을 빌드할 때 포함할 파일 패턴 목록입니다. 기본값: |
| staticContentDir | 문자열 | 사용자 인터페이스 개발에 사용되는 정적 자산 파일을 출력하는 디렉터리입니다. 기본값: dist/static |
| staticContentPaths | 객체 | 정적 자산 파일의 출력 경로에 대한 클라이언트 측 소스 파일의 맵입니다. |
| DefaultLanguage | 문자열 | 테이블 또는 열의 필드 레이블 [sys_documentation]에 대한 기본 언어의 BCP 47 코드입니다. 기본 언어는 여러 언어로 필드 레이블을 해결하는 데 사용됩니다. 기본값: en |
| tableOutputFormat | 문자열 | 코드에서 생성된 테이블 메타데이터 XML에 대한 빌드 아티팩트 유형입니다 ServiceNow Fluent . 유효한 값은 다음과 같습니다.
기본값: bootstrap |
| 분류 | 객체 | 생성된 ServiceNow Fluent 파일을 구성하기 위한 구성으로, 테이블 이름을 디렉터리에 매핑하고 대체 디렉터리를 정의합니다. 기본 분류 구성은 표준 테이블 분류를 사용하여 ServiceNow 메타데이터가 처음에 코드로 ServiceNow Fluent 변환될 때 Fluent/생성된 디렉터리 내의 논리적 디렉터리 구조에 생성된 ServiceNow Fluent 파일을 추가합니다. 예:
기본 매핑을 재정의하거나 추가 매핑을 구성할 수 있습니다. 다음 예시에서 구성은 비즈니스 규칙 [sys_script]의 기본 디렉터리와 폴백 폴더를 재정의하고 사용자 지정 테이블의 메타데이터에 대한 추가 매핑을 구성합니다.
기본: 기본 분류 매핑은 모든 표준 ServiceNow 테이블에 대해 정의되며 애플리케이션의 |
| trusted모듈 | 배열 | 신뢰할 수 있는(또는 내부) 것으로 식별할 npm 패키지 목록입니다. 신뢰할 수 있는 모듈은 API에 액세스할 수 있습니다.ServiceNow 예:EcmaScript 모듈 [sys_module] 테이블에서 신뢰할 수 있는 모듈에 대한 외부 소스 필드가 false로 설정됩니다. 경고: 완전히 신뢰할 수 있는 종속성만 신뢰할 수 있는 모듈로 추가합니다. 유효한 패턴:
|
| tsconfig경로 | 문자열 | 빌드 프로세스 중에 TypeScript를 JavaScript로 변환하기 위한 사용자 지정 옵션이 있는 tsconfig.json 파일의 경로입니다. tsconfigPath를 지정하면 tsconfig.json 파일을 사용하여 TypeScript에서 진단 결과가 생성됩니다.경고: 이 매개변수와 modulePaths 매개변수는 사용할 수 없습니다. 둘 다 구성하면 오류가 발생합니다.기본값: . |
소스 코드의 애플리케이션 구성
{
"scope": "x_snc_example_app",
"scopeId": "2f8400eb07426110f736e28f69d3017a",
"name": "ExampleApp",
"dependencies": {
"global": {
"tables": ["incident"],
"roles": ["admin"],
},
"x_custom": {
"tables": ["custom_table"]
}
},
"metadataDir": "metadata",
"fluentDir": "src/fluent",
"generatedDir": "generated",
"serverModulesDir": "src/server",
"clientDir": "src/client",
"appOutputDir": "dist/app",
"staticContentDir": "dist/static",
"packOutputDir": "target",
"modulePaths": {
"src/server/*.ts": "dist/server/*.js",
},
"staticContentPaths": {
"src/client/*.html": "dist/static/*.html",
},
"ignoreTransformTableList": ["ua_table_licensing_config", "sys_embedded_help_role"],
"taxonomy": {
"mapping": {
"sys_script": "scripts/server/rules",
"custom_table": "my-custom-folder/my-nested-folder"
},
"fallbackFolderName": "unclassified"
}
}