防止webpack的babel-loader从node_modules使用.babelrc

时间:2017-11-07 09:12:00

标签: webpack babeljs babel-loader

我有一个用es6编写的lib。它构建了IIFE伪影(使用通过.babelrc配置的汇总和babel),它还将自身暴露为npm模块而没有任何转换(通过package.json中的'module'键:https://github.com/rollup/rollup/wiki/pkg.module)。

另一个配置了自己的babel-loader导入的webpack项目,并将此lib用作npm dep。

问题在于webpack的babel-loader使用lib中的'.babelrc'进行转换(这就是babel配置查找的工作方式)。

'babelrc:false'禁用配置查找,我设法通过在webpack.config中内联webpack的babel配置来克服这个问题,但有没有办法配置我的webpack + babel使用本地项目的babel配置和不是它在node_modules /?

中找到的那些

据我所知,我可以自行转换我的lib,但由于它是私有的并且在受控环境中使用,我认为我的webpack应用程序中的一个转换过程应该足够了。

1 个答案:

答案 0 :(得分:0)

这是一个配置考试。你可以通过查询配置你的babel-loader,它将覆盖node_modules / .babelrc中的那些配置。

module: {
    loaders: [
        {
            test: /\.js$|\.jsx$/,
            exclude: /node_modules\/(?!(you_modules)\/).*/,
            loader: 'babel-loader',
            query: {
                presets: [
                    ['es2015', {
                        'useBuiltIns': true,
                        'modules': "commonjs",
                    }],
                    'stage-1',
                    'react'
                ],
            }
        }
    ]
},