Саксонский JS непригодный для использования с веб-пакетом - PullRequest
0 голосов
/ 21 марта 2020

У меня возникает проблема при попытке интегрировать SaxonJS в более крупное веб-приложение с использованием webpack. Из того, что я могу сказать, webpack рассматривает SaxonJS как просто другой модуль, но SaxonJS не структурирован как AMD или CommonJS модуль. Вместо этого Big.js (зависимость SaxonJS) захватывает экспорт. Я считаю, что исправление поддержки Node.js также решит эту проблему.

import * as SaxonJS from "./Saxon-JS/SaxonJS.js";
export class Transformer {

    public static transform(inputStr: string, sefFile: string, cb: Function) {
        // wrap the JSON in XML, as required by XSLT transform
        let wrappedJson = `<root xmlns="http://www.w3.org/2005/xpath-functions">${inputStr}</root>`;
        SaxonJS.transform({
            sourceText: wrappedJson,
            stylesheetLocation: `xslt/${sefFile}`,
            initialTemplate: "start",
            destination: "application"
        }, cb);
    };
}

Обратите внимание, что это веб-сценарий; Saxon JS вызывается браузером.

1 Ответ

2 голосов
/ 27 марта 2020

всегда приятно видеть, как люди пытаются использовать саксонскую JS. Нам в Саксонике, безусловно, было бы интересно узнать больше о том, что вы пытаетесь сделать и как. Не удивительно, что попытка интеграции в настоящее время не работает. Saxon- JS 1 на самом деле не построен как модуль JS (например, обратите внимание, что копия Big.js содержится внутри SaxonJS, это не зависимость от модуля).

Мы работаем тяжело в следующем основном выпуске, Saxon- JS 2.0, который будет включать версию для Node.js (как вы знаете, Saxon- JS 1 предназначен только для браузера). На этот раз мы хотим правильно упаковать модуль, чтобы разработчики JavaScript, такие как вы, действительно могли интегрировать модуль SaxonJS так, как вы ожидаете. Мы будем рады получить ваши идеи!

Мы до сих пор стремились сосредоточиться на создании автономных веб-приложений с использованием XSLT и предоставляемых расширений IXSL, но мы хотим лучше понять, как пользователи могут / хотели бы интегрировать Saxon - JS в более крупные существующие приложения. Пожалуйста, не могли бы вы связаться напрямую с более подробной информацией о вашем случае использования? (например, см. раздел «Контакты» на веб-сайте Saxonica для получения адреса электронной почты службы поддержки.)

...