import
Roda um módulo de um recurso no estado Lua deste script, uma vez por estado, e dá o que ele devolveu. As globais que o módulo definiu passam a ser deste script.
Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| module | string|table | "@recurso/modulo", ou "@recurso" para o módulo main. Uma tabela de nomes de globais limita o que é passado a esses nomes: import { "a", "b" } "@recurso/modulo". |
Retorno
O que o módulo devolveu, ou true se não devolveu nada. Com uma tabela, uma função que recebe o nome do módulo e faz o import.
Todo *.lua dentro de modules/ de um recurso é um módulo, sem nada no meta.xml. Os de modules/server/ são só do servidor e nunca são enviados, os de modules/client/ só do cliente, e o resto é compartilhado. O nome é o caminho dentro de modules/ sem .lua e sem o server/ ou client/ do começo; o arquivo do próprio lado vence um compartilhado de mesmo nome.
No servidor, importar um recurso que não está rodando o inicia antes. No cliente, o recurso precisa já estar carregado neste cliente. Um segundo import do mesmo módulo no mesmo estado não o roda de novo, só repassa as globais e o valor de retorno.
Exemplo
local sql = import "@lp_database/sql"
import { "formatMoney" } "@utils"
outputDebugString(formatMoney(1500))false: recurso ou módulo que não existe, módulo do outro lado, que não compila, importado de novo enquanto roda, ou um nome da tabela que o módulo não define.