Módulos JavaScript e bibliotecas de terceiros

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 4 min. de leitura
  • Otimize sua base de código usando módulos JavaScript para agrupar código relacionado ou adicionar bibliotecas de terceiros e reutilizar o código nas aplicações.

    Visão geral do uso de módulos JavaScript

    Um módulo é um arquivo JavaScript que contém código relacionado compartilhado e reutilizado em aplicações em uma instância. Você pode adicionar módulos JavaScript e bibliotecas de terceiros em aplicações com escopo criadas ou convertido com o. IDE da ServiceNowou ServiceNow SDK. Você também pode usar typescript para criar módulos e compilá-los em JavaScript antes de criar sua aplicação. Depois de instalar uma aplicação em uma instância, os módulos JavaScript são armazenados na tabela Módulo ECMAScript [sys_module].

    Em um módulo, você identifica o código para reutilização com exportação declarações. Em seguida, use importação ou necessário declarações para reutilizar o código em outro lugar em suas aplicações. Você deve adicionar bibliotecas do gerenciador de pacotes de nós (npm) de terceiros às aplicações como dependências para usar o código do módulo. Para obter informações gerais sobre a sintaxe usada para criar módulos JavaScript, consulte Módulos JavaScript Página no site de Documentos da Web da MDN.

    Nota:
    Para usar APIs globais do Glide Server em módulos, elas devem ser importadas do em servicenow/glide pacote. Para obter mais informações, consulte Importando APIs do servidor.

    Limitações

    • Não há suporte para aplicações globais e personalizações de aplicações.
    • Os módulos podem ser usados somente no escopo da aplicação em que foram adicionados. Eles não podem ser usados em todos os escopos da aplicação.
    • Um subconjunto de recursos do ECMAScript é compatível com módulos de acordo com o. JavaScript engine feature support.
    • As APIs Node.js não são compatíveis com módulos. . ServiceNow SDKO processo de compilação preenche todos os módulos integrados do Node.js durante o empacotamento de módulos, caso contrário os módulos serão resolvidos a partir do node_modules diretório.
    • Variáveis globais relacionadas a APIs da web não são compatíveis.
    • As bibliotecas de terceiros adicionadas à sua aplicação não podem acessar ou chamar ServiceNowAPIs.
    • Os módulos CommonJS de bibliotecas de terceiros não são compatíveis, a menos que definam exportações. As importações de subcaminho não são compatíveis com módulos CommonJS. Módulos ECMAScript de bibliotecas de terceiros são compatíveis.
    • importação e. exportação as declarações são compatíveis somente em módulos. Para importar o código do módulo em scripts, como regras de negócios ou inclusões de script, use necessário declarações. ​
    • Os módulos JavaScript [sys_module] só podem ser modificados no IDE da ServiceNowou em Visual Studio Codecom o. ServiceNow SDK.
    Importante:
    Você não pode usar bibliotecas de terceiros que dependem de funcionalidades incompatíveis, como APIs incompatíveis ou recursos ECMAScript. Para obter mais informações, consulte Suporte a bibliotecas de terceiros.

    Exportando módulos

    Em um módulo, identifique o código para reutilização com exportação declarações. Você pode usar exportações nomeadas ou exportações padrão. As exportações nomeadas podem ser para variáveis, constantes, funções ou classes, enquanto as exportações padrão podem ser somente para funções ou classes. O exemplo a seguir é uma maneira de adicionar uma exportação nomeada para vários recursos (uma função e uma variável) em um módulo:
    export { myFunction, myVariable };

    Importando módulos

    Para importar o código do módulo que você deseja reutilizar, use importação declarações em outros módulos ou necessário declarações em scripts do lado do servidor.

    O exemplo a seguir é uma maneira de importar um recurso exportado em um módulo:
    import { feature } from 'path/to/module';
    O exemplo a seguir é uma maneira de importar um recurso exportado em um script:
    const { feature } = require('path/to/module');
    Nota:
    Para importar código de um arquivo typescript para outro arquivo typescript, você deve incluir o. .ts extensão do arquivo. Por exemplo, importar recurso de './module.ts' .
    Para usar uma abreviação para importar o código do módulo, você pode usar subcaminhos no importações do campo da aplicação pacote.json arquivo. Por exemplo:
    {
    	"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"
    	}
    }
    Com base nesse exemplo, em vez de escrever o caminho relativo para derivative.js sempre que você quiser importá-lo no matemática , você pode usar o. derivado em vez disso, é uma abreviação. Os subcaminhos também podem ser usados no importações campo para usar abreviação para dependências, como cálc .
    import { derivative } from '#derivative';
    import * as calculus from '#calc';

    Adicionando bibliotecas de terceiros

    As aplicações devem declarar dependências em bibliotecas de terceiros para usar o código do módulo. Em uma aplicação pacote.json arquivo, inclua o nome do pacote e a versão de todas as dependências. Por exemplo, para usar módulos da biblioteca "math" na aplicação "test", adicione o pacote "math" como uma dependência:
    {
    	"name": "test",
    	"version": "1.0.0",
    	"dependencies": {
    		"math": "1.0.0"
    	}
    }

    Importando APIs do servidor

    Para importar APIs do servidor e usá-las em um módulo, use importação declarações. As APIs do Glide podem ser importadas do em servicenow/glide ou seu namespace no pacote.

    Por exemplo:
    import { API } from '@servicenow/glide';
    import { API } from '@servicenow/glide/<namespace>';
    No exemplo a seguir, o. gs (GlideSystem) e. GlideRecord As APIs são importadas em um módulo:
    import { gs } from '@servicenow/glide';
    import { GlideRecord } from '@servicenow/glide';
    No exemplo a seguir, o. RESTAPIRequisição e. RESTAPIResposta As APIs são importadas do sn_ws_int namespace em um módulo porque eles são executados nesse namespace:
    import { RESTAPIRequest, RESTAPIResponse } from '@servicenow/glide/sn_ws_int';

    Para obter mais informações sobre APIs de servidor disponíveis, consulte Server API reference.

    Inclusões de script de importação

    Para importar inclusões de script e usá-las em um módulo, use importação declarações. As inclusões de script podem ser importadas do escopo da aplicação ou do escopo global no em servicenow/glide pacote.

    Por exemplo:
    import { global } from '@servicenow/glide/global';
    import { ScriptInclude } from '@servicenow/glide/<scope>';

    Para obter mais informações sobre inclusões de script, consulte Script includes.