12

有没有办法让E4X(ECMAScript)与 NodeJS 一起工作?

输出光滑的 html/xml 真的很有帮助,没有麻烦/噪音。

使用SpiderMonkey可以正常工作,因为它是本机实现的,但它似乎不适用于 NodeJS。

使用节点

$node
> var name = "World";
> var p = <p>Hello {name}</p>;
...

使用蜘蛛猴

$js
js> var name = "World";
js> var p = <p>Hello {name}</p>;
Hello World
js>

提前致谢

4

2 回答 2

10

Node 使用 V8,目前还没有实现 E4X。

有一个 2 年的问题,但仍然是关于该主题的活跃问题。但它没有真正的“地位”,也没有分配给任何人。

简而言之:答案是否定的。

于 2011-02-20T13:55:08.110 回答
0

我开发了一个 babel 插件,为 NodeJS 添加了 E4X 基本支持。

https://www.npmjs.com/package/babel-plugin-transform-simple-e4x

您还可以使用 npm simple4x 库将 xml 字符串解析为类似 XML 的对象。

https://www.npmjs.com/package/simple4x

该插件转译以下 E4X:

var fooId = 'foo-id';
var barText = 'bar text';
var xml =
    <xml>
        <foo id={fooId}>
          {barText}
        </foo>
    </xml>;

到以下 JavaScript:

var XML = new require("simple4x");

var fooId = 'foo-id';
var barText = 'bar text';
var xml = new XML("<xml><foo id=\"" + fooId + "\">" + barText + "</foo></xml>");
于 2020-01-01T05:37:57.450 回答