Package Exports
- babel-preset-react
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (babel-preset-react) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
babel-preset-react
Babel preset for all React plugins.
This preset always includes the following plugins:
And with the development
option:
Note: This preset sets the requireDirective
option on
transform-flow-strip-types
. This means Flow annotations and declarations
will only be removed in files that have a // @flow
directive. It will also
throw errors for any Flow annotations found in files without the directive.
// @flow
function foo(numVal: number, strVal: string) {}
Install
You can also check out the React Getting Started page
For more info, check out the setup page on the cli and the usage docs.
Install the CLI and this preset
npm install --save-dev babel-cli babel-preset-react
Make a .babelrc config file with the preset
echo '{ "presets": ["react"] }' > .babelrc
Create a file to run on
echo '<h1>Hello, world!</h1>' > index.js
View the output
./node_modules/.bin/babel index.js
Usage
Via .babelrc
(Recommended)
.babelrc
{
"presets": ["react"]
}
Via CLI
babel script.js --presets react
Via Node API
require("babel-core").transform("code", {
presets: ["react"]
});
Options
development
boolean
, defaults to false
.
Toggles plugins that aid in development, such as babel-plugin-transform-react-jsx-self
and babel-plugin-transform-react-jsx-source
.
This is useful when combined with either a babelrc.js
or env option in a .babelrc configuration:
babelrc.js
module.exports = {
presets: [
["react", {
development: process.env.BABEL_ENV === "development"
}],
],
}
.babelrc
Note: the
env
option will likely get deprecated soon
{
"presets": ["react"],
"env": {
"development": {
"presets": [
["react", { "development": true }]
]
}
}
}