带NodeJS的E4X

时间:2011-02-20 12:40:46

标签: javascript node.js html-parsing e4x spidermonkey

有没有办法让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>

提前致谢

2 个答案:

答案 0 :(得分:10)

Node使用V8,目前尚未实现E4X。

有一个2岁的问题,但仍然有效issue。但它没有真正的“地位”,也没有分配给任何人。

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

答案 1 :(得分: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>");