带有NodeJS的E4X

问题描述 投票:12回答:2

是否有任何方法可以使E4X(ECMAScript)与NodeJS一起使用?

这确实有助于输出流畅的html / xml,而不会带来麻烦/噪音。

由于它是本机实现的,因此可以使用SpiderMonkey正常运行,但似乎不适用于NodeJS。

使用节点

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

使用spidermonkey

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

预先感谢

javascript node.js html-parsing e4x spidermonkey
2个回答
10
投票

Node使用V8,到目前为止它尚未实现E4X。

存在2年的问题,但仍在该主题上活跃issue。但是它没有真正的“状态”,也没有分配给任何人。

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


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>");
© www.soinside.com 2019 - 2024. All rights reserved.