如何使用babel-preset-env设置webpack.config.js?

时间:2017-10-15 12:26:33

标签: webpack

有人知道或者有一个使用babel-preset-env的webpack.config.js文件吗?如果是,请分享。

这是配置文件:

const path = require('path');
const webpack = require('webpack');
const APP_DIR = path.resolve(__dirname, 'js');

module.exports = {
    entry: {
        app: "./app/javascript/app-one.js",
    },
    module: {
        rules: [
            {
                test: /\.js$/,
                exclude: /node_modules/,
                include : [
                APP_DIR,
                path.resolve(__dirname, 'node_modules/jquery')
            ],
                use: {
                    loader: 'babel-loader',
                    options: {
                        modules: true,
                        presets: ['env',
                            {
                                "targets": {
                                    "node": "current"
                                }
                            }
                        ]
                    }
                }
            }
        ]
    },
    node: {
        fs: "empty"
    },
    output: {
        path: path.resolve("./app/temp/scripts"),
        filename: "[name].bundle.js"
    }
};

1 个答案:

答案 0 :(得分:2)

我认为您遇到的误解是您将目标设置为node:current。

preset-env只会转换支持您希望支持的目标所必需的内容。见这里:http://2ality.com/2017/02/babel-preset-env.html

此外,ES2015的节点支持非常稳定(https://kangax.github.io/compat-table/es6/)所以我认为不需要进行多少编译。

如果你想转换到ES5那么你应该将目标设置为例如IE 10.大多数当前环境对ES6都有很高的支持,所以如果有的话,转换将是最小的(这很好)。