Проблема установки Mendix - предлагаемый код не работает

Я погружаюсь в Mendix Typescript SDK и следую инструкциям на https://docs.mendix.com/apidocs-mxsdk/mxsdk/setting-up-your-development-environment.

Затем я последовал за https://docs.mendix.com/apidocs-mxsdk/mxsdk/creating-your-first-script чтобы создать скрипт, чтобы опробовать его.

Тем не менее, я получаю следующую ошибку в коде script.ts предложил на этой странице:

error TS2554: Expected 1-2 arguments, but got 0.
30     return dm.load();
      ~~~~~~~~~
node_modules/mendixmodelsdk/dist/gen/domainmodels.d.ts:583:14
583         load(callback: (element: DomainModel) => void, forceRefresh?: boolean): void;
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
An argument for 'callback' was not provided.
Found 1 error.

return dm.load();

Я не разбираюсь в NodeJS - но могу сказать, что параметр передан в load() неверно - просто не существует, хотя load() определяется для принятия параметра. Но тогда, почему ошибка скрипту на предложенной настройке? Я буду атаковать эту проблему. Но нужна помощь, с чего начать.

Это "похоже" на разницу версий / ошибку настройки. Но я не видел ошибок нигде, пока я его настраивал.

Что мне не хватает?

1 ответ

Решение

У меня нет опыта в том, чтобы заставить работать этот конкретный пример скрипта; это также может быть устаревшим. В своем собственном сценарии я загружаю модель данных с loadAsPromise функция, как указано в сценарии в статье " Сгенерировать код из модели".

async function serializeToJs() {
    const workingCopy = await project.createWorkingCopy();
    const domainModelInterface = workingCopy.model().allDomainModels().filter(dm => dm.containerAsModule.name === moduleName)[0];

    try {
        const domainModel = await loadAsPromise(domainModelInterface);
        console.log(JavaScriptSerializer.serializeToJs(domainModel)); //print out the generated JavaScript
        console.log("success!")
    } catch (error) {
        console.log(`error: ${error}`);
    }
}
Другие вопросы по тегам