javascript - 为什么 Webpack 在我的主目录中寻找预设?

标签 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 会突然查看我的主目录,或者我如何能够诊断原因?

最佳答案

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

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

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

关于javascript - 为什么 Webpack 在我的主目录中寻找预设?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49100027/

相关文章:

javascript - 使用 babel 时出现意外的保留字 'import'

javascript - 在 React 中使用 OnClick 更改组件状态

javascript - 检查变量是否已填充并将其传递给条件函数

javascript - 检测用户是否已从顶部滚动

javascript - 计时器倒计时到期时提交表单

tomcat - 如何让 tomcat 从 webpack 开发服务器提供静态文件?

javascript - 如何在浏览器中加载lodash/fp?

javascript - Unix 格式的 GMT/UTC(非本地)时间

javascript - [eslint] 中的 Vue-cli 无法读取未定义的属性(读取 'type' )错误

javascript - 条件渲染在 React 映射循环中不起作用