babel向后兼容

本文介绍了在开发过程中如何通过安装和配置@babel/core、@babel/preset-env、@babel-loader和core-js,结合webpack来转换代码,以确保代码能在包括IE11在内的多种浏览器中运行。在webpack.config.js中,详细设置了babel-loader的规则,以便对TypeScript编译后的文件进行进一步处理,达到浏览器兼容的目的。
摘要由CSDN通过智能技术生成

除了webpack,开发中还经常需要结合babel来对代码进行转换以使其可以兼容到更多的浏览器。

1、安装依赖包:

npm i -D @babel/core @babel/preset-env babel-loader core-js

@babel/core:babel的核心工具

@babel/preset-env:babel的预定义环境

@babel-loader:babel在webpack中的加载器

core-js:core-js用来使老版本的浏览器支持新版ES语法

2、修改webpack.config.js配置文件

......
module: {
    rules: [
        {
            test: /\.ts$/,
            use: [
            	// 配置 babel
                {
                	// 指定加载器
                    loader: "babel-loader",
                    // 设置 babel
                    options:{
                    	// 设置预定义的环境
                        presets: [
                            [
                            	// 指定环境的插件
                                "@babel/preset-env",
                                // 配置信息
                                {
                                	// 要兼容的目标浏览器版本
                                    "targets":{
                                        "chrome": "88",
                                        "ie": "11"
                                    },
                                    // 指定 corejs 的版本
                                    "corejs":"3",
                                    // 使用 corejs 的方式。"usage" 表示按需加载
                                    "useBuiltIns": "usage"
                                }
                            ]
                        ]
                    }
                },
                {
                    loader: "ts-loader",

                }
            ],
            exclude: /node_modules/
        }
    ]
}
......


如此一来,使用ts编译后的文件将会再次被babel处理,使得代码可以在大部分浏览器中直接使用,可以在配置选项的targets中指定要兼容的浏览器版本。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值