【问题标题】:Why is Webpack looking for a preset in my home directory?为什么 Webpack 在我的主目录中寻找预设?
【发布时间】:2018-08-12 11:49:06
【问题描述】:

在我正在处理的项目的 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 会突然查看我的主目录,或者我如何能够诊断出这是为什么?

【问题讨论】:

  • 您的主目录中是否恰好有一个.babelrc 文件?
  • @loganfsmyth 就是这样!请将其转换为答案,以便我用绿色复选标记勾住您!

标签: javascript webpack babeljs flowtype


【解决方案1】:

这是 Babel 的配置文件解析中的一个不幸的脚枪。它一直遍历您的项目,并在您的主目录中找到了一个不相关的.babelrc 文件。

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

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

【讨论】:

    猜你喜欢
    • 2012-04-30
    • 1970-01-01
    • 2016-08-22
    • 2016-05-14
    • 1970-01-01
    • 2012-09-13
    • 2017-03-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多