webpack入门到进阶(五) - loader介绍下篇

博客介绍了Babel和@babel/polyfill的使用。Babel是JavaScript编辑器,项目用ES6语法时,低版本浏览器不兼容,需安装Babel-loader做兼容转化。@babel/polyfill可让我们使用新内置函数等,webpack不能处理新方法兼容性,需安装并引入它。

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

我们继续介绍几个常用的loader的使用以及作用;

Babel介绍使用

 babel 是一个javascript编辑器。可以看下bable官网介绍:https://www.babeljs.cn/

我们如今在项目中往往都会使用ES6语法,如:箭头函数,class声明等等,但是低版本的浏览器并不兼容。我们使用webpack打包的时候,webpack也不能帮助我们直接做兼容转化,此时,我们就需要安装Babel-loader,帮助我们。

开始安装:bable-loader ; babel-core(babel核心包);babel-preset-env(babel预设);

npm install babel-loader babel-core babel-preset-env

 安装完毕后,我们开始配置;推荐配置是,首先我们在项目中新建一个.babelrc文件。文件里面的内容是一个Json对象。

{
  "presets": ["@babel/preset-env"]
}

 然后我们在webpack.config.js里面配置使用的loader;

      { 
        test: /\.js$/, 
        use: ['babel-loader'],
        //exclude:不需要对node_modules目录下的文件进行处理。
        exclude: /(node_modules)/,
      },

 当我们执行,npm run build后,查看bundle.js的时候,我们就会发现。箭头函数写的setTimeout,就已经改变成具有兼容性的写法了。

 @babel/polyfill

Babel包含一个polyfill,您可以使用新的内置函数,如Promise或WeakMap,静态方法,如Array.from或Object。赋值,实例方法,比如Array.prototype。包含和生成器函数(如果使用regenerator插件)。为了做到这一点,polyfill添加了全局范围和原生原型,比如String。

比如新的语法

var str = '123'

str.includes('2');

想includes这样新的方法,webpack也不能直接帮我们做兼容性语法处理的。

此时我们就需要安装:

npm install --save @babel/polyfill

然后进行引入就可以了。

引入的方法有几种:

例如:

module.exports = {
  entry: ["@babel/polyfill", "./src/main.js"],
};

可以去查看bable的官网:https://www.babeljs.cn/docs/babel-polyfill

接下来一篇,会介绍几个有趣的插件。未完待续。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值