在尝试使用webpack将SaxonJS集成到更大的web应用程序中时,我遇到了一个问题。据我所知,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);
};
}请注意,这是一个web场景;浏览器正在调用SaxonJS。
发布于 2020-03-27 21:13:12
看到人们如何尝试使用Saxon-JS总是很好的。我们在Saxonica当然有兴趣了解更多关于您正在尝试做什么以及如何做的事情。您正在尝试的集成目前不起作用,这并不令人惊讶。Saxon-JS1实际上并不是作为JS模块构建的(例如,请注意SaxonJS中包含了Big.js的副本,它不是模块依赖项)。
我们正在努力开发下一个主要版本,Saxon-JS2.0,它将包含一个用于Node.js的版本(如您所知,Saxon-JS1仅适用于浏览器)。这一次,我们希望得到正确的模块打包,这样像您这样的JavaScript开发人员就可以像您期望的那样集成SaxonJS模块。您的见解将非常受欢迎!
到目前为止,我们倾向于使用XSLT和提供的IXSL扩展来构建独立的web应用程序,但我们确实想更好地了解用户如何能够/愿意将Saxon-JS集成到更大的现有应用程序中。请您直接联系您的用例的更多细节?(例如,有关支持电子邮件地址,请参阅Saxonica网站上的联系人部分。)
https://stackoverflow.com/questions/60792808
复制相似问题