import-jsx
Require and transpile JSX on the fly
- Doesn't install any
require()
hooks - Auto-detects React pragma (
React.createElement
) and falls back to h
pragma supported by Preact and others - Caches transpiled sources by default
- Bundles in object rest spread transform
Install
$ npm install --save import-jsx
Usage
const importJsx = require('import-jsx');
const reactComponent = importJsx('./react');
const preactComponent = importJsx('./preact');
const customComponent = importJsx('./custom', {pragma: 'x'});
React
const React = require('react');
module.exports = <div />;
Preact
const {h} = require('preact');
module.exports = <div />;
Any JSX pragma
const x = (tagName, attrs, ...children) => {};
module.exports = <div />;
API
importJsx(moduleId, [options])
moduleId
Type: string
Module id.
options
pragma
Type: string
Default: h
Override JSX pragma.
pragmaFrag
Type: string
Default: Fragment
Override pragma for JSX fragments.
cache
Type: boolean
Default: true
Cache transpiled source code.
importJsx.create([options])
Factory method to create a version of importJsx()
with pre-defined options.
Useful when you need a custom pragma, but don't want to pass it along with each importJsx()
call.
options
Type: object
Options to pass to importJsx()
.
const importJsx = require('import-jsx');
importJsx('./a', {pragma: 'x'});
importJsx('./b', {pragma: 'x'});
const importJsx = require('import-jsx').create({pragma: 'x'});
importJsx('./a');
importJsx('./b');