ServiceNow SDK를 사용하여 종속성 다운로드

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 7분
  • IntelliSense와 스크립트 및 ServiceNow Fluent 코드 유효성 검사를 위해 인스턴스에서 애플리케이션 종속성 및 TypeScript 정의를 다운로드합니다.

    개발 프로세스 전체에서 인스턴스에서 종속성 및 TypeScript 정의를 다운로드하여 애플리케이션에서 해당 종속성에 대한 코딩을 지원해야 합니다.

    애플리케이션에 대한 모든 스크립트와 ServiceNow Fluent 종속성을 다운로드하려면 매개변수 없이 dependencies 명령을 사용할 수 있습니다. 필요한 경우 애플리케이션 디렉터리와 인증 별칭도 제공합니다.
    now-sdk dependencies [--directory <package path>] [--auth <alias>]

    애플리케이션 종속성 다운로드 ServiceNow Fluent

    코드에 대한 IntelliSense 지원 및 유효성 검사를 받으려면 다른 애플리케이션 범위의 종속성에 대한 TypeScript 정의를 다운로드합니다.ServiceNow Fluent

    시작하기 전에

    를 사용하여 ServiceNow SDK로컬 시스템에 애플리케이션을 추가합니다. 자세한 내용은 ServiceNow SDK를 사용하여 애플리케이션 추가 문서를 참조하십시오.

    필요한 역할: 관리자

    이 태스크 정보

    이 절차에서는 명령줄 인터페이스(CLI)를 ServiceNow SDK 사용합니다. 명령줄 도구에서 now-sdk --help 를 입력하여 사용 가능한 명령 및 전역 옵션에 대한 정보를 가져옵니다. 명령 및 해당 매개변수에 대한 추가 정보를 보려면 명령과 --help 또는 -h를 입력합니다. 예를 들어 now-sdk auth --help입니다. CLI에 대한 자세한 내용은 다음 문서를 참조하십시오 ServiceNow SDK CLI.

    프로시저

    1. Visual Studio Code에서 범위가 지정된 애플리케이션 디렉터리를 엽니다.
    2. now.config.json 파일의 종속된 항목을 종속 객체에 추가합니다.

      종속성 객체의 구조는 다음과 같습니다. 애플리케이션 범위와 의존성 유형 및 이름 또는 sys_ids 지정해야 합니다. 테이블과 역할만 이름으로 지정할 수 있습니다. 와일드카드(*)를 사용하여 지정된 테이블 및 범위의 모든 항목을 추가할 수 있습니다.

      "dependencies": {
          "<scope>": {
            "<type>": ["<sys_id or name>"],
            ...
          },
          ...
      }

      예:

      {
        "dependencies": {
          "global": {
            "tables": ["incident", "problem"],
            "roles": ["admin"],
            "sys_script_client": ["fa776f6d97700100f309124eda2975bc"]
          },
          "x_custom": {
            "tables": ["custom_table"],
            "sys_security_acl": "*",
          }
        }
      }
    3. 변경 내용을 저장합니다.
    4. 애플리케이션 디렉터리에서 통합 터미널 창을 엽니다.
    5. dependencies 명령을 사용하여 애플리케이션의 종속성을 다운로드합니다.
      now-sdk dependencies --auth <alias> --fluent-only
      주:
      스크립트 종속성도 다운로드하려면 --fluent-only 매개변수를 제외합니다.

      dependencies 명령은 now.config.json 파일에 지정된 종속성을 다운로드하고 @types/servicenow/fluent 디렉터리에 .d.now.ts 파일 확장자를 사용하여 이에 대한 TypeScript 정의를 생성합니다. 애플리케이션을 빌드할 때 이러한 파일은 소스 코드 파일처럼 컴파일되지 않습니다.

    다음에 수행할 작업

    #now:{scope}/{category} 하위 경로 임포트 형식을 사용하여 파일의 종속성을 ServiceNow Fluent 참조할 수 있습니다. 예:
    // Import roles from global scope
    import { role as globalRole } from '#now:global/security'
    
    // Import roles from custom app scope  
    import { role as xExampleAppRole } from '#now:x_example_app/security'
    
    // Use in ACLs, flows, etc.
    Acl({
        $id: Now.ID['my_acl'],
        type: 'record',
        table: 'incident',
        operation: 'read',
        roles: [globalRole.admin, xExampleAppRole.xExampleAppCool],
    })
    이렇게 하려면 애플리케이션의 package.json 파일에 다음 임포트 구성이 포함되어야 합니다.
    {
      "imports": {
        "#now:*": "./@types/servicenow/fluent/*/index.js"
      }
    }

    모듈 및 스크립트 종속성 다운로드

    Glide API 및 스크립트 포함에 대한 IntelliSense 지원 및 유효성 검사를 받으려면 모듈 및 스크립트 종속성에 대한 TypeScript 정의를 다운로드합니다.

    시작하기 전에

    를 사용하여 ServiceNow SDK로컬 시스템에 애플리케이션을 추가합니다. 자세한 내용은 ServiceNow SDK를 사용하여 애플리케이션 추가 문서를 참조하십시오.

    필요한 역할: 관리자

    이 태스크 정보

    이 절차에서는 명령줄 인터페이스(CLI)를 ServiceNow SDK 사용합니다. 명령줄 도구에서 now-sdk --help 를 입력하여 사용 가능한 명령 및 전역 옵션에 대한 정보를 가져옵니다. 명령 및 해당 매개변수에 대한 추가 정보를 보려면 명령과 --help 또는 -h를 입력합니다. 예를 들어 now-sdk auth --help입니다. CLI에 대한 자세한 내용은 다음 문서를 참조하십시오 ServiceNow SDK CLI.

    프로시저

    1. Visual Studio Code에서 범위가 지정된 애플리케이션 디렉터리를 엽니다.
    2. 애플리케이션 디렉터리에서 통합 터미널 창을 엽니다.
    3. dependencies 명령을 사용하여 애플리케이션에서 스크립트에 대한 종속성을 다운로드합니다.
      now-sdk dependencies --auth <alias> --type-defs-only
      주:
      애플리케이션 종속성도 다운로드하려면 --type-defs-only 매개변수를 제외합니다.

      종속성 명령은 모든 Glide API에 대한 유형 정의를 다운로드하고, 애플리케이션의 모듈과 스크립트를 스캔하고, 사용하는 스크립트 포함에 대한 유형 정의를 생성합니다. 유형 정의는 @types/servicenow 디렉터리에 추가됩니다. 다른 유형 정의를 추가하려면 수동으로 생성할 수 있습니다. 자세한 내용은 API에 대한 유형 정의 추가 문서를 참조하십시오.

    4. src/fluent 디렉터리에서 서버 측 스크립트용 tsconfig.server.json 파일을 생성합니다.
      포함 객체에는 서버 측 Glide API(glide.server.d.ts) 및 스크립트 포함(script-includes.server.d.ts)에 대해 다운로드한 유형 정의가 포함됩니다.
      {
        "compilerOptions": {
          "lib": [
            "ES2021"
          ],
          "noEmit": true,
          "checkJs": false,
          "allowJs": true,
          "noEmitHelpers": true,
          "esModuleInterop": false,
          "module": "None",
          "types": []
        },
        "include": [
          "./**/*.server.js",
          "../../@types/servicenow/*.server.d.ts",
        ]
      }
    5. src/fluent 디렉터리에서 클라이언트 측 스크립트용 tsconfig.client.json 파일을 생성합니다.
      include 객체에 클라이언트 측 Glide API(glide.client.d.ts)에 대해 다운로드한 유형 정의를 포함합니다.
      {
        "compilerOptions": {
          "target": "ES6",
          "lib": [
            "DOM",
            "ES6"
          ],
          "checkJs": false,
          "allowJs": true,
          "noEmit": true,
          "noEmitHelpers": true,
          "esModuleInterop": false,
          "module": "None",
          "types": []
        },
        "include": [
          "./**/*.client.js",
          "../../@types/servicenow/*.client.d.ts",
        ]
      }
    6. src/fluent 디렉터리에서 tsconfig.json 파일을 생성합니다.
      주:
      tsconfig.json 파일은 TypeScript를 사용하여 JavaScript 모듈을 만드는 애플리케이션에 사용되는 tsconfig.json 파일과 별개입니다.

      참조 객체에서 tsconfig.server.jsontsconfig.client.json 파일의 경로를 추가합니다.

      {
        "files": [],
        "references": [
          {
            "path": "./tsconfig.server.json"
          },
          {
            "path": "./tsconfig.client.json"
          }
        ]
      }
    7. 변경 내용을 저장합니다.

    결과

    이 구성을 사용하면 서버 측 스크립트에 .server.js 파일 확장명을, 클라이언트 측 스크립트에 .client.js 파일 확장명을 사용할 수 있으며 개발 중에 자동 완성 지원을 받을 수 있습니다.