lesx-jsx

0.0.5 • Public • Published

lesx-jsx

将jsx语法转化为纯粹的React.createElement,无其他多余代码;同时,支持jsx-control-statement控制流标签。

TODO

必须由babel-core的实现转化为lesx-parserbabel-traversebabel-generator三步曲实现。(因为后面需要被转化的代码肯定不会包含script/style之类的标签,所以没必要)

因为babel的插件机制特别恶心,以上操作无法转,要实现也只能到babel-core的核心代码里实现!

如果需要转换script/style之类的特殊标签,需要如下引用:

const lesxJsx = require('lesx-jsx/lib/transform-with-spec-tags');

Installation

Grab it from npm

npm install lesx-jsx

Usage

const lesxJsx = require('lesx-jsx');
 
const source = `
    <div x="x" {...y} z>
        123
        <If condition={ test }>
            <span>Truth</span>
        </If>
    </div>
`;
 
 
const code = lesxJsx(source);
 
 
console.log('code:', code);
 
/**
React.createElement(
    "div",
    Object.assign({ x: "x" }, y, { z: true }),
    "123",
    test ? React.createElement(
        "span",
        null,
        "Truth"
    ) : null
);
*/
 

Readme

Keywords

Package Sidebar

Install

npm i lesx-jsx

Weekly Downloads

1

Version

0.0.5

License

MIT

Last publish

Collaborators

  • abell123456