Webpacker ships with babel - a JavaScript compiler so
you can use next generation JavaScript, today. The Webpacker installer sets up a
standard babel.config.js
file in your app root, which will work great in most cases
because of @babel/preset-env.
Following ES6/7 features are supported out of the box:
- Async/await.
- Object Rest/Spread Properties.
- Exponentiation Operator.
- Dynamic import() - useful for route level code-splitting
- Class Fields and Static Properties.
We have also included babel polyfill that includes a custom regenerator runtime and core-js.
Don't forget to import @babel/polyfill
in your main entry point like so:
import "@babel/polyfill"
While you are free to use require()
and module.exports
, we encourage you
to use import
and export
instead since it reads and looks much better.
import Button from 'react-bootstrap/lib/Button'
// or
import { Button } from 'react-bootstrap'
class Foo {
// code...
}
export default Foo
import Foo from './foo'
You can also use named export and import
export const foo = () => console.log('hello world')
import { foo } from './foo'