• 安装 babel-loader@babel/core@babel/preset-env
npm i babel-loader @babel/core @babel/preset-env -D
  • webpack.config.js
    module: {
        rules: [
            {
                test: /\.js$/,
                exclude: /node_modules/, // 忽略node_modules里的js文件
                loader: "babel-loader",
                options: {
                    presets: ["@babel/preset-env"]
                }
            }
        ]
    }
  • 上面的设置能够在打包时把es6转为es5,但不包括es6的一些新特征,比如promise
  • 解决上面问题的方法是,安装 @babel/polyfill@babel/polyfill会添加很多代码,而非按需加载。
  • 实现按需加载的配置 webpack.config.js
    module: {
        rules: [
            {
                test: /\.js$/,
                exclude: /node_modules/,
                loader: "babel-loader",
                options: {
                    presets: [[
                        "@babel/preset-env",
                        {
                            useBuiltIns: "usage"
                        }
                    ]]
                }
            }
        ]
    }

無常
11 声望2 粉丝