Módulos JavaScript e bibliotecas de terceiros
Otimize sua base de código usando módulos JavaScript para agrupar o código relacionado ou adicionar bibliotecas de terceiros e reutilizar o código nas aplicações.
Visão geral
Um módulo é um arquivo JavaScript que contém o código relacionado que é 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 que são criadas com o ServiceNow IDE e aplicações que são criadas ou convertidas usando o ServiceNow SDK. Você também pode usar o TypeScript para criar módulos e compilá-los em JavaScript antes de criar sua 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 instruções de exportação. Em seguida, use as instruções importar ou exigir para reutilizar o código em outros lugares em suas aplicações. As aplicações devem declarar dependências em bibliotecas do Node Package Manager (npm) de terceiros para usar o código do módulo. Para obter informações gerais sobre a sintaxe usada para criar módulos JavaScript, consulte a página de módulos JavaScript no site do MDN Web Docs.
@servicenow/glide. Por exemplo: import { gs } from '@servicenow/glide'.Limitações
- Aplicações globais e personalizações de aplicação não são compatíveis.
- Os módulos podem ser usados somente no escopo da aplicação ao qual foram adicionados. Eles não podem ser usados em escopos da aplicação.
- Um subconjunto de recursos do ECMAScript é compatível com módulos de acordo com o Suporte ao recurso do mecanismo JavaScript.
- As APIs Node.js não são compatíveis com módulos.
- Variáveis globais relacionadas a APIs da Web não são compatíveis.
- Bibliotecas de terceiros adicionadas à sua aplicação não podem acessar ou chamar ServiceNow APIs.
- 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. Os módulos ECMAScript de bibliotecas de terceiros são compatíveis.
- As instruções deimportação e exportação só são compatíveis com módulos. Para importar o código do módulo em scripts, como regras de negócio ou inclusões de script, use instruções exigem.
- Os módulos JavaScript [sys_module] podem ser modificados somente no ServiceNow IDE ou no Visual Studio Code com 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 instruções de importação em outros módulos ou exija instruções em scripts do lado do servidor.
import { feature } from "path/to/module";
const { feature } = require("path/to/module");
{
"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. Os subcaminhos também podem ser usados no campo de importações para usar abreviações para dependências, como #cal.import { derivative } from '#derivative';
import * as calculus from '#calc';Como adicionar dependências
{
"name": "test",
"version": "1.0.0",
"dependencies": {
"math": "1.0.0"
}
}