29.浏览器兼容性处理:webpack语法转换Loader

65 阅读1分钟

一、babel-loader 和 @babel/core 处理ES6转ES5(基础语法转换)

babel-loader 和 @babel/core将浏览器不能识别的新语法转换成原来识别的旧语法,做浏览器兼容性处理(如:箭头函数;const等)
babel-loader: 集成了babel-cli babel/core: babel核心库

  1. 安装Loader
// webpack 4版本下:
npm i babel-loader @babel/core @babel/preset-env -D
  1. 配置Loader
module: {
    rules: [
        {
            test: /\.js$/, 匹配文件
            exclude: /node_modules/, // 排除文件
            use: {
                loader: "bable-loader",
                // 配置项
                options: {
                    presets: ['@babel/preset-env'] // 解析环境
                }
            }
        }
    ]
}
  1. 运行
npm run build // yarn build

此时在打包文件build中输出

二、babel/polyfill处理ES6高级语法转换(如:Promise)

  1. 安装
npm i @babel/polyfill
  1. 在app.js中导入使用
import '@babel/polyfill'
  1. 运行
npm run build // yarn build

此时在打包文件build中输出