Babel
- JavaScript Compiler
- https://babeljs.io
- ES2015 and beyond
- JSX and React
- Type Annotations (Flow and TypeScript)
- Pluggable
- Debuggable
- Spec Compliant
- Compact
js// Babel Input: ES2015 arrow function
[1, 2, 3].map((n) => n + 1);
// Babel Output: ES5 equivalent
[1, 2, 3].map(function(n) {
return n + 1;
});
install
textnpm init -y
npm install --save-dev @babel/core @babel/cli @babel/preset-env
npm install @babel/polyfill
babel.config.js
jsconst presets = [
[
"@babel/env",
{
targets: {
edge: "17",
firefox: "60",
chrome: "67",
safari: "11.1",
},
useBuiltIns: "usage",
},
],
];
module.exports = { presets };
run
text./node_modules/.bin/babel src --out-dir lib
babel-jest
-
jest command
npm i -g jest
-
package.json
npm i -D @babel/cli @babel/core @babel/preset-env babel-jest
json "devDependencies": {
"@babel/cli": "^7.8.4",
"@babel/core": "^7.8.4",
"@babel/preset-env": "^7.8.4",
"babel-jest": "^25.1.0"
}
- babel.config.js
jsmodule.exports = {
"presets": ["@babel/preset-env"]
}