Babel 是一个 JavaScript 编译器!
Babel 是一个广泛使用的 JavaScript 编译器,可以让你在当前环境下使用最新的 JavaScript 语法(如 ES6+),并将其编译为兼容旧环境的代码。
代码示例
index.js
1 | import {test} from 'test' |
步骤详解
第一步,安装 @babel/node
cnpm i -D @babel/node
npx babel-node index.js
此时报错
1 | Error: Cannot find module '@babel/core' |
第二步,安装 @babel/core
cnpm i -D @babel/core
npx babel-node index.js
此时报错
1 | import * as test from 'test'; |
第三步,添加 Babel 配置文件
创建 .babelrc
或 babel.config.json
,内容如下:
1 | { |
npx babel-node index.js
此时报错
1 | Error: Cannot find module '@babel/preset-env' |
第四步,安装 @babel/preset-env
cnpm i -D @babel/preset-env
npx babel-node index.js
此时如果没有报错,说明配置成功!
常见问题与解决方法
ReferenceError: regeneratorRuntime is not defined
- 解决方法:安装依赖
cnpm i -D @babel/plugin-transform-runtime @babel/runtime-corejs3
- 并在 Babel 配置文件的
plugins
中添加如下配置:1
2
3
4
5
6
7
8
9
10
11"plugins": [
[
"@babel/plugin-transform-runtime",
{
"corejs": 3,
"regenerator": true,
"useESModules": true,
"helpers": true
}
]
]
- 解决方法:安装依赖
Cannot use import statement outside a module
- 确认已正确配置 Babel,并且入口文件通过
babel-node
执行。
- 确认已正确配置 Babel,并且入口文件通过
小结
- 安装依赖:
@babel/node
、@babel/core
、@babel/preset-env
。 - 配置
.babelrc
或babel.config.json
。 - 遇到
regeneratorRuntime
报错时,安装并配置@babel/plugin-transform-runtime
。 - 使用
npx babel-node index.js
运行支持 ES6+ 的代码。
参考链接
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 BARAN的小站🔥🔥🔥!