Вызов метода внутри экспортированного метода IIFE
У меня есть сценарий, в котором я хочу предоставить функцию с использованием модулей JS, этот сценарий скомпилирован с использованием esbuild.
предварительно транспилированный файл (index.mjs)
const NakamaWrapper = require("./nakama").default
var NakamaJS;
export default function InitNakama(host, port, useSSL) {
NakamaJS = new NakamaWrapper(host, port, useSSL);
NakamaJS.initiate();
}
esbuild задача
"build-dev": "./node_modules/.bin/esbuild ./src/index.mjs --bundle --sourcemap --target=es2015 --outfile=./dist/dev/pc-nakama.js",
экспортированный код (я заметил, что функция находится внутри IIFE)
код в html:
import * as NakamaJS from "./pc-nakama.js";
NakamaJS.InitNakama("192.168.100.50", 7350, false);
ошибка:
NakamaJS.InitNakama is not a function
1 ответ
Формат вывода по умолчанию
--format=iife
но вы можете использовать
--format=esm
вместо этого выводить в формате модуля ECMAScript, который будет работать с
import
. Документы находятся здесь: https://esbuild.github.io/api/#format-esm .