Babel介绍
babel.config.js
module.exports = function (api) { api.cache(true); const presets = [ ... ]; const plugins = [ ... ]; return { presets, plugins };
.babelrc
{ "presets": [...], "plugins": [...] }
//webpack.config.js module: { rules: [ { test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader', } ] }, //.babelrc { "presets": [ ["@babel/preset-env"], ["@babel/preset-react"] ] }
//webpack.config.js module: { rules: [ { test: /\.js$/, exclude: /node_modules/, use: { loader: 'babel-loader', options: { presets: ['@babel/preset-env', "@babel/preset-react"], } } } ] }, (此种配置方式无需配置babel配置文件)
//index.js require('@babel/polyfill'); or import '@babel/poltfill';
//webpack.config.js entry: ['@babel/polyfill', './index.js'],
//index.js import "core-js/stable"; import "regenerator-runtime/runtime";
//index.js import 'core-js/features/promise'; import 'core-js/features/array/from';
babel.config.js
module.exports = function (api) { api.cache(true); const presets = [ ... ]; const plugins = [ ... ]; return { presets, plugins };
.babelrc
{ "presets": [...], "plugins": [...] }
//webpack.config.js module: { rules: [ { test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader', } ] }, //.babelrc { "presets": [ ["@babel/preset-env"], ["@babel/preset-react"] ] }
//webpack.config.js module: { rules: [ { test: /\.js$/, exclude: /node_modules/, use: { loader: 'babel-loader', options: { presets: ['@babel/preset-env', "@babel/preset-react"], } } } ] }, (此种配置方式无需配置babel配置文件)
//index.js require('@babel/polyfill'); or import '@babel/poltfill';
//webpack.config.js entry: ['@babel/polyfill', './index.js'],
//index.js import "core-js/stable"; import "regenerator-runtime/runtime";
//index.js import 'core-js/features/promise'; import 'core-js/features/array/from';