源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
楼主: ttx9n

[JavaScript] 详解webpack运行Babel教程

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2018-6-13 09:27:52 | 显示全部楼层 |阅读模式
这篇文章主要介绍了详解webpack运行Babel教程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

摘要:Babel是转码器,webpack是打包工具,它们应该如何一起使用呢?

GitHub仓库: Fundebug/webpack-babel-tutorial

ES6 + IE10 = 语法错误!

test.js 使用了ES6的 箭头函数

setTimeout(() =>
{
  console.log("Hello, Fundebug!");
}, 100)

由于低版本的浏览器没有支持ES6语法,这就意味着代码会出错。例如,在IE 10浏览器中,会出现”语法错误”:

如果你使用了Fundebug错误监控服务,则会收到这样的报错:

直接使用babel转码

当你使用更高版本的JavaScript语法时,比如ES7,低版本的浏览器将无法运行。为了兼容低版本的浏览器,比如万恶的IE,我们不得不使用Babel ,将ES6、ES7等高版本代码转换为ES5代码。

安装 babel-cli

sudo npm install --global babel-cli

使用babel命令转码

babel test.js --out-file compiled.js

转码之后生成的代码为compiled.js

setTimeout(function () {
  console.log("Hello, Fundebug!");
}, 100);

可知,箭头函数转换成了function,这样就代码可以在IE 10等不支持ES6的浏览器上正确执行了。

广告:欢迎免费试用Fundebug,助您第一时间发现代码BUG。

使用webpack运行Babel

一般项目中都会使用 webpack 对代码进行打包,比如,将多个js文件打包成1个js文件,这样可以减少前端的资源请求。因此,我们需要将Babel也集成到webpack中。

安装webpack

npm install --global webpack

我使用的webpack版本为4.10.0

webpack --version
4.10.0

安装babel

npm install --save-dev babel-cli babel-preset-env

babel-preset-env 是Babel新版的preset,它可以让我们 灵活地设置代码目标执行环境 ,比如只支持各个浏览器最新的2个版本,支持IE8及其以上的IE浏览器。

安装babel-loader

npm install --save-dev babel-loader

babel-loader 是webpack的babel插件,它让我们可以在wepback中运行Babel。

配置babel

新增 .babelrc 文件:

{
  "presets": ["env"]
}

配置webpack

新增 webpack.config.js 文件:

module.exports = {
  entry: './test.js',
  output:
  {
    path: __dirname,
    filename: 'bundle.js'
  },
  module:
  {
    rules: [
    {
      test: /\.js$/,
      exclude: /node_modules/,
      loader: 'babel-loader'
    }]
  }
};

可知,我们在webpack中使用了babel-loader插件来运行Babel,转换所有的.js代码(除了node_modules中的代码)。

使用webpack运行babel

webpack --mode production

转换之后的代码为bundle.js 。bundle.js只有1行代码,这是因为为我们指定的mode为production,webpack为了压缩代码只生成了1行代码。

参考

webpack 配合babel 将es6转成es5 超简单实例

Babel入门教程

babel-preset-env: a preset that configures Babel for you

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

回复

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2022-8-14 01:54:15 | 显示全部楼层
我要金豆金豆金豆
回复 支持 反对

使用道具 举报

1

主题

2万

回帖

79

积分

注册会员

Rank: 2

积分
79
发表于 2022-9-25 23:50:04 | 显示全部楼层
哦哦哦哦哦哦哦哦哦
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2022-12-1 19:03:51 | 显示全部楼层
飞飞飞飞飞飞飞飞飞飞飞飞飞
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

73

积分

注册会员

Rank: 2

积分
73
发表于 2023-4-8 22:48:56 | 显示全部楼层
收下来看看怎么样
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

124

积分

注册会员

Rank: 2

积分
124
发表于 2023-6-22 09:45:50 | 显示全部楼层
66666666666666666666
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-11-5 18:17:37 | 显示全部楼层
很好,谢谢分享
回复 支持 反对

使用道具 举报

1

主题

1万

回帖

51

积分

注册会员

Rank: 2

积分
51
发表于 2024-2-28 13:31:35 | 显示全部楼层
iiguuubhuiuihu
回复 支持 反对

使用道具 举报

4

主题

1万

回帖

60

积分

注册会员

Rank: 2

积分
60
发表于 2024-3-9 18:00:39 | 显示全部楼层
哈哈哈哈哈哈
回复 支持 反对

使用道具 举报

3

主题

1万

回帖

50

积分

注册会员

Rank: 2

积分
50
发表于 2024-3-16 17:52:30 | 显示全部楼层
啦啦啦啦啦德玛西亚
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2025-2-5 09:00 , Processed in 0.106306 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表