You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
var es6Code = 'let x = n => n + 1';
var es5Code = require('babel-core')
.transform(es6Code, {
presets: ['es2015']
})
.code;
// '"use strict";\n\nvar x = function x(n) {\n return n + 1;\n};'
说明
在react项目中使用
ant-design
的时候,配置import antd/dist/antd.css
的babel-plugin-import
插件并未成功导入,搞的很心烦,环境配置不通,此篇将babel的使用梳理一遍!!!配置文件.babelrc
Babel的配置文件是
.babelrc
,存放在项目的根目录下。使用Babel的第一步,就是配置这个文件。cmd命令行创建
该文件用来设置转码规则和插件,基本格式如下。
presets字段设定转码规则,官方提供以下的规则集,你可以根据需要安装。
将规则写入
.babelrc
注意,以下所有Babel工具和模块的使用,都必须先写好
.babelrc
。命令行转码babel-cli
Babel提供
babel-cli
工具,用于命令行转码。听阮老师的,在全局环境和当前项目环境都安装。
基本用法
demo
es2015
转码规则最后,转码
npm run build
babel-node
babel-cli工具自带一个
babel-node
命令,提供一个支持ES6的REPL环境。它支持Node的REPL环境的所有功能,而且可以直接运行ES6代码。它不用单独安装,而是随babel-cli一起安装。然后,执行babel-node就进入PEPL环境。
babel-node命令可以直接运行ES6脚本。将上面的代码放入脚本文件es6.js,然后直接运行。
babel-node也可以安装在项目中。
然后,改写package.json。
上面代码中,使用babel-node替代node,这样script.js本身就不用做任何转码处理。
babel-core
如果某些代码需要调用Babel的API进行转码,就要使用babel-core模块。
安装命令如下。
然后,在项目中就可以调用babel-core。
配置对象options,可以参看官方文档。
下面是一个例子。
上面代码中,transform方法的第一个参数是一个字符串,表示需要转换的ES6代码,第二个参数是转换的配置对象。
babel-polyfill
Babel默认只转换新的JavaScript句法(syntax),而不转换新的API,比如Iterator、Generator、Set、Maps、Proxy、Reflect、Symbol、Promise等全局对象,以及一些定义在全局对象上的方法(比如Object.assign)都不会转码。
举例来说,ES6在Array对象上新增了Array.from方法。Babel就不会转码这个方法。如果想让这个方法运行,必须使用babel-polyfill,为当前环境提供一个垫片。
安装命令如下。
然后,在脚本头部,加入如下一行代码。
Babel默认不转码的API非常多,详细清单可以查看
babel-plugin-transform-runtime
模块的definitions.js文件。webpack 和 babel 配置 react 开发环境
1. 安装
2. 建立 babel
创建 .babelrc 文件。
3.webpack配置
补充:eslint
1.安装
2.eslint结合webpack配置
3.eslintrc.json规则配置
.eslintrc.json
4.package.json检查eslint语法
5.eslint结合babel
然后创建或使用项目现有的 .eslintrc.json 文件并设置 parser 为 babel-eslint。.
参考链接
userful links
The text was updated successfully, but these errors were encountered: