为什么我需要在项目中添加依赖项'babel插件?

时间:2017-06-03 04:37:52

标签: reactjs webpack babel

最初的问题出现在github问题:https://github.com/babel/babel/issues/5803,但似乎没有回应,所以我认为stackoverflow会更好地问:

问题是:

当我向项目添加第三方反应组件时,我总是发现这一点:

Module build failed: ReferenceError: Unknown plugin "transform-object-assign" specified in "/Users/apple/Documents/.../react-z/node_modules/react-slick/.babelrc" at 0, attempted to resolve relative to

我导入的第三方组件需要一个我不需要的babel插件。

我可以添加到我的项目中,当然,然后我添加了另一个第三方反应组件,它需要babel-plugin-transform-replace-object-assign。

令我感到非常尴尬的是他们做了类似的事情,但我需要将它们添加到我的项目中以使它们工作。

{
  "presets": [
    "es2015",
    "react",
    "stage-0"
  ],
  "plugins": [
    "transform-object-rest-spread",
    "transform-object-assign",
    [
      "transform-replace-object-assign",
      "object.assign"
    ]
  ]
}

有人可以解释原因或告诉我如何以正确的方式做到这一点吗?

非常感谢。

1 个答案:

答案 0 :(得分:2)

您需要从node_modules/中排除babel-loader,以便它不会尝试转换您的依赖项:

module: {
  rules: [
    {
      test: /\.js$/,
      exclude: /node_modules/,
      loader: 'babel-loader'
    }
  ]
}