webpack - Babel 不接受选项

标签 webpack babeljs

webpack.config.js:

module.exports = {
    entry: __dirname + '/src/app.js',
    output: {
        path: __dirname + '/dist',
        filename: 'test.js'
    },
    module: {
        rules: [
            {
                test: /\.js$/,
                exclude: /(node_modules|bower_components)/,
                use: {
                    loader: 'babel-loader',
                    options: {
                        presets: ['env', {
                            targets: {
                                chrome: 52
                            }
                        }]
                    }
                }
            }
        ]
    }
};

看似简单,实则抛出错误

Module build failed: ReferenceError: [BABEL] /src/app.js: Unknown option: foreign.targets. Check out http://babeljs.io/docs/usage/options/ for more information about options.

这没有任何意义。错误是由“env”预设的选项触发的。知道为什么 babel preset 突然不接受选项吗?

最佳答案

想通了。预设选项应位于嵌套数组中,因此正确的选项列表应如下所示:

                options: {
                    presets: [
                        ['env', {
                            targets: {
                                chrome: 52
                            }
                        }]
                    ]
                }

关于webpack - Babel 不接受选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47370245/

相关文章:

babeljs - 为什么我需要 Babel JS?

webpack - 如何在 Webpack 中使用 webrtc-adapter (adapter.js) shim?

vue.js - Webpack +SCSS错误: "Module parse failed: Unexpected character ' @' (1:0)"

javascript - webpack-dev-server 的缓存问题

javascript - 使用 ES5 的 AOT(提前)编译

javascript - React 的 CDN 脚本 src 中包含哪个 babel 文件?

javascript - 如何导入类的静态成员?

webpack - 如何在 webpack 5 中更改 web worker 文件的输出格式

javascript - Webpack 5 和 ESM

javascript - 由于大数据 js 文件,browserify 和 babelify 非常慢