jsx-transform

JSX transpiler. A standard and configurable implementation of JSX decoupled from React.

Github星跟蹤圖

jsx-transform Build Status NPM version Dependency Status

JSX transpiler. Desugar JSX into JavaScript.

This module aims to be a standard and configurable implementation of JSX
decoupled from React for use with
Mercury or other modules.

JSX is a JavaScript syntax for composing virtual DOM elements.
See React's documentation for an explanation.

For linting files containing JSX see
JSXHint.

Installation

npm install jsx-transform

API

jsx-transform

This module aims to be a standard and configurable implementation of JSX
decoupled from React for use with
Mercury or other modules.

JSX is a JavaScript syntax for composing virtual DOM elements.
See React's documentation for an explanation.

For linting files containing JSX see
JSXHint.

jsx-transform~fromString(str, [options]) ⇒ String

Desugar JSX and return transformed string.

Kind: inner method of jsx-transform, Param, Type, Description, ---, ---, ---, str, String, [options], Object, options.factory, String, Factory function name for element creation., [options.spreadFn], String, Name of function for use with spread attributes (default: Object.assign)., [options.unknownTagPattern], String, uses given pattern for unknown tags where {tag} is replaced by the tag name. Useful for rending mercury components as Component.render() instead of Component()., [options.passUnknownTagsToFactory], Boolean, Handle unknown tags like known tags, and pass them as an object to options.factory. If true, createElement(Component) instead of Component() (default: false)., [options.unknownTagsAsString], Boolean, Pass unknown tags as string to options.factory (default: false)., [options.arrayChildren], Boolean, Pass children as array instead of arguments (default: true)., Example

var jsx = require('jsx-transform');

jsx.fromString('<h1>Hello World</h1>', {
  factory: 'mercury.h'
});
// => 'mercury.h("h1", null, ["Hello World"])'

jsx-transform~fromFile(path, [options]) ⇒ String

Kind: inner method of jsx-transform, Param, Type, ---, ---, path, String, [options], Object,

jsx-transform~browserifyTransform([filename], [options]) ⇒ function

Make a browserify transform.

Kind: inner method of jsx-transform
Returns: function - browserify transform, Param, Type, Description, ---, ---, ---, [filename], String, [options], Object, [options.extensions], String, Array of file extensions to run browserify transform on (default: ['.js', '.jsx', '.es', '.es6'])., Example

var browserify = require('browserify');
var jsxify = require('jsx-transform').browserifyTransform;

browserify()
  .transform(jsxify, options)
  .bundle()

Use .configure(options) to return a configured transform:

var browserify = require('browserify');
var jsxify = require('jsx-transform').browserifyTransform;

browserify({
  transforms: [jsxify.configure(options)]
}).bundle()

Use in package.json:

"browserify": {
  "transform": [
    ["jsx-transform/browserify", { "factory": "h" }]
  ]
}

BSD Licensed

主要指標

概覽
名稱與所有者alexmingoia/jsx-transform
主編程語言JavaScript
編程語言JavaScript (語言數: 2)
平台
許可證
所有者活动
創建於2014-06-27 09:49:20
推送於2020-02-27 17:18:19
最后一次提交2020-02-27 12:18:18
發布數30
最新版本名稱v2.3.0 (發布於 2016-01-26 08:29:57)
第一版名稱0.1.0 (發布於 2014-06-27 02:57:04)
用户参与
星數294
關注者數9
派生數28
提交數121
已啟用問題?
問題數23
打開的問題數9
拉請求數19
打開的拉請求數0
關閉的拉請求數6
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?