使用已删除的babel 5选项

时间:2017-04-01 19:35:40

标签: reactjs webpack babeljs photoswipe

我刚刚开始涉足反应,我想要的第一个组件之一就是使用photoswipe.js。 (react photoswipe)看起来在npm上有一个相当不错的,但我遇到了问题。当我运行我的故事书开始测试和构建我的组件时,我收到了来自babel的错误。它说:

in ./~/react-photoswipe/lib/index.js
Module build failed: ReferenceError: [BABEL] C:\Code\GIT\DanStatenReact\DanStatenUI\node_modules\react-photoswipe\lib\index.js: Using removed Babel 5 option: C:\Code\GIT\DanStatenReact\DanStatenUI\node_modules\react-photoswipe\.babelrc.stage - Check out the corresponding stage-x presets http://babeljs.io/docs/plugins/#presets
    at Logger.error (C:\Code\GIT\DanStatenReact\DanStatenUI\node_modules\babel-core\lib\transformation\file\logger.js:41:11)
    at OptionManager.mergeOptions (C:\Code\GIT\DanStatenReact\DanStatenUI\node_modules\babel-core\lib\transformation\file\options\option-manager.js:220:20)
    at OptionManager.init (C:\Code\GIT\DanStatenReact\DanStatenUI\node_modules\babel-core\lib\transformation\file\options\option-manager.js:368:12)
    at File.initOptions (C:\Code\GIT\DanStatenReact\DanStatenUI\node_modules\babel-core\lib\transformation\file\index.js:212:65)
    at new File (C:\Code\GIT\DanStatenReact\DanStatenUI\node_modules\babel-core\lib\transformation\file\index.js:135:24)
    at Pipeline.transform (C:\Code\GIT\DanStatenReact\DanStatenUI\node_modules\babel-core\lib\transformation\pipeline.js:46:16)
    at transpile (C:\Code\GIT\DanStatenReact\DanStatenUI\node_modules\babel-loader\lib\index.js:46:20)
    at C:\Code\GIT\DanStatenReact\DanStatenUI\node_modules\babel-loader\lib\fs-cache.js:79:18
    at ReadFileContext.callback (C:\Code\GIT\DanStatenReact\DanStatenUI\node_modules\babel-loader\lib\fs-cache.js:15:14)
    at FSReqWrap.readFileAfterOpen [as oncomplete] (fs.js:365:13)

所以我做了一些探讨并注意到babel rc文件似乎设置为stage:0从我的理解看起来是一个非常糟糕的主意,如果你正在生产一个应该是耐用的组件javascript规范更新和发展。

我仍然很擅长使用babel,所以我很难跟踪我需要更新这个组件以使其在我的环境中使用较新的babel工作。以前有没有人遇到过这个组件的问题?有没有人对如何解决bable transile问题提出任何建议或提示,并追踪我需要更新的内容?

2 个答案:

答案 0 :(得分:0)

来自.babelrc的{​​{1}}不适用于babel 6.但它不需要,因为main entry point of the module is lib/index.js,其中包含已经转换的代码。您正在尝试再次对其进行转换,并自动应用距离它最近的react-photoswipe

您应该在webpack配置中排除.babelrc,例如:

node_modules

它不仅可以解决您的问题,还可以减少构建时间。

答案 1 :(得分:0)

感谢迈克尔让我指出了正确的方向。我正在使用具有白名单配置的react故事书工具测试和构建组件,该工具告诉它哪些节点模块不能通过完整构建运行。我不得不将react-photoswipe添加到白名单中,它现在正在工作......很好地开始工作,但这个问题得到了解决。