【ES】笔记-使用Babel对ES6模块化代码进行转换

本文介绍了如何使用Babel将ES6模块化代码转换为ES5语法,以便在不支持ES6的浏览器中运行,同时借助browserify进行打包处理。开发者需通过npm和npx命令行工具进行安装和编译操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用Babel对ES6模块化代码进行转换

初始化项目

在项目跟目录下执行npm init -y初始化项目

npm init --yes

安装依赖

同样项目根目录下执行npm install babel-cli babel-preset-env browserify -D

babel-cli:babel的脚手架工具
babel-preset-env:将最新的es6的语法转换成es5
browserify:打包工具,类似于webpack,但是比webpack简单,一般在项目中使用webpack,在这里只是简单演示,所以选择browserify

npm i babel-cli babel-preset-env browserify
npm i(i 是 install缩写) babel-cli babel-preset-env browserify -D(这样安装是局部安装)

注意:用npm i安装的模块无法用npm uninstall删除,用npm uninstall i才卸载掉

使用命令对我们的代码进行编译

因为我们是局部安装,所以使用npx来执行babel命令

 npx babel src/js -d dist/js --presets=babel-preset-env

执行完之后就可以看到在我们的项目跟目录下多出了一个dist目录,里面是经过打包的js代码,如下所示:
在这里插入图片描述
这是我们在index.html文件里引入dist/app.js文件,并提供vscode的liverServer将其打开,这是你就会发现浏览器控制台有个报错:
在这里插入图片描述

这是因为浏览器不能识别require语法,我们需要对编译过的文件再进行一次打包,执行以下命令:

npx browserify dist/js/app.js -o dist/bundle.js

dist/js/app.js:入口文件
-o:-o后面紧跟的是打包后文件的存放路径

执行完在这个命令后,在dist目录下就生成了一个bundle.js文件,我们在index.html中引入这个文件,并在浏览器里打开,我们导入的内容就可以正确的输出了,如下所示:
在这里插入图片描述

当我们修改代码之后需要重新执行

npx babel src/js -d dist/js --presets=babel-preset-env
npx browserify dist/js/app.js -o dist/bundle.js

这两条命令,才能在控制台看到我们想要的结果,比如我修改了app.js中的代码:

import * as test1 from './test1.js'
import * as test2 from './test2.js'
import * as test3 from './test3.js'
console.log(test1.name);
console.log(test2.study());
console.log(test3.default.school);

执行完上面两条命令后,再次打开浏览器控制台就可以看到一下输出结果了:

这样转换了之后,不管我们的浏览器支不支持es6语法,都能正确运行代码了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

厦门德仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值