Módulos JavaScript e bibliotecas de terceiros
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.
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.
Exportando módulos
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.
import { feature } from 'path/to/module';const { feature } = require('path/to/module');.ts extensão do arquivo. Por exemplo, importar recurso de './module.ts' .{
"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"
}
}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
{
"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.
import { API } from '@servicenow/glide';
import { API } from '@servicenow/glide/<namespace>';import { gs } from '@servicenow/glide';
import { GlideRecord } from '@servicenow/glide';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.
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.