为什么Webpack在我的主目录中查找预设?

时间:2018-03-04 20:23:14

标签: javascript webpack babeljs flowtype

在我正在处理的项目的Webpack中,我让Webpack设置为Babel进行转换,因此我可以使用Flow类型的JavaScript。但是,当我运行具有此规则的Webpack时,

  {
    test: /\.js/,
    exclude: ['/node_modules/'],
    use: [{
      loader: 'babel-loader',
      options: {
        presets: ['env'],
        plugins: ['transform-flow-strip-types']
      }
    }]
  }

我得到了:

Module build failed: Error: Couldn't find preset "transform-flow-strip-types"
relative to directory "/home/andy"

上次我正在研究这个问题,Webpack工作正常并且在我的node_modules文件夹中搜索transform-flow-strip-types,但现在它正在我的主目录中查找。为什么Webpack会突然查看我的主目录,或者我如何能够诊断出它为什么会这样?

1 个答案:

答案 0 :(得分:2)

这是巴贝尔配置文件解析中的一个不幸的步枪。它已经遍历您的项目,并在您的主目录中找到了一个不相关的.babelrc文件。

这里几乎没有理由拥有.babelrc,所以最好的办法就是删除/home/andy/.babelrc。或者,如果这实际上是您想要的东西(如果是,请重新考虑:P),您可以在项目中创建一个no-op .babelrc,其中只有一个空对象,这也可以解决问题

我目前正在努力让Babel在找到任何.babelrc文件后立即停止搜索package.json文件,但尚未登陆且仅适用于Babel 7.x,而不是当前6.x版本。 https://github.com/babel/babel/pull/7358