SaxonJS 无法与 webpack 一起使用

Posted

技术标签:

【中文标题】SaxonJS 无法与 webpack 一起使用【英文标题】:SaxonJS unusable with webpack 【发布时间】:2020-07-02 16:35:29 【问题描述】:

我在尝试使用 webpackSaxonJS 集成到更大的 Web 应用程序时遇到问题。据我所知,webpackSaxonJS 视为另一个模块,但SaxonJS 不是AMDCommonJS 模块。相反,Big.jsSaxonJS 依赖项)劫持了导出。我相信修复 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);
    ;

请注意这是一个网络场景; SaxonJS 正在被浏览器调用。

【问题讨论】:

【参考方案1】:

很高兴看到人们如何尝试使用 Saxon-JS。 Saxonica 肯定有兴趣了解更多关于您正在尝试做什么以及如何做的信息。您正在尝试的集成当前无法正常工作也就不足为奇了。 Saxon-JS 1 并没有真正构建为 JS 模块(例如,请注意 Big.js 的副本包含在 SaxonJS 中,它不是模块依赖项)。

我们正在努力开发下一个主要版本 Saxon-JS 2.0,其中将包含一个适用于 Node.js 的版本(如您所知,Saxon-JS 1 仅适用于浏览器)。我们希望这次能够正确打包模块,以便像您这样的 javascript 开发人员确实可以按照您的期望集成 SaxonJS 模块。非常欢迎您的见解!

到目前为止,我们倾向于专注于使用 XSLT 和提供的 IXSL 扩展构建独立的 Web 应用程序,但我们确实希望更好地了解用户能够/希望如何将 Saxon-JS 集成到更大的现有应用程序中。请您直接联系您的用例的更多详细信息吗? (例如,有关支持电子邮件地址,请参阅 Saxonica 网站上的“联系人”部分。)

【讨论】:

以上是关于SaxonJS 无法与 webpack 一起使用的主要内容,如果未能解决你的问题,请参考以下文章

无法将 Saxon-JS 2 与 Webpack 一起使用

无法让多应用 webpack 配置与 react-hot-loader 一起使用

SaxonJS 发出多余的命名空间属性

无法让 webpack require.ensure 分块方法与 react-router 一起使用并生成单独的捆绑文件

无法使 react-hot-loader 和 webpack-dev-server 与 react-router 一起工作

如何使用 saxonjs 将 json 转换为 xml?