reactjs - NPM 供应商插件无法构建
问题描述
我遇到了以下非常奇怪的构建问题,我似乎无法追踪我正在构建的 gatsby 插件:https ://github.com/flockcover/gatsby-plugin-branch-web-sdk 。奇怪的是,当我在插件目录下拥有完全相同的插件,而不是通过 npm 出售时,构建通过就好了
141 | var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace;
142 | var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
> 143 | var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
| ^
144 |
145 | // A reserved attribute.
146 | // It is handled by React separately and shouldn't be written to the DOM.
WebpackError:
- react-dom-server.node.development.js?5336:143 Parser.pp$4.raise
~/react-dom/cjs/react-dom-server.node.development.js?5336:143:1
- react.development.js?1871:438 Parser.pp.unexpected
~/react/cjs/react.development.js?1871:438:1
- emptyObject.js?42e4:11 Parser.pp$3.parseExprAtom
~/fbjs/lib/emptyObject.js?42e4:11:1
- index.js?2927:58 Parser.pp$3.parseExprSubscripts
~/object-assign/index.js?2927:58:1
- react.development.js?1871:1455 Parser.pp$3.parseMaybeConditional
~/react/cjs/react.development.js?1871:1455:1
- react.development.js?1871:1432 Parser.pp$3.parseMaybeAssign
~/react/cjs/react.development.js?1871:1432:1
- invariant.js?4599:48 Parser.pp$3.parseExprAtom
~/fbjs/lib/invariant.js?4599:48:27
- index.js?2927:58 Parser.pp$3.parseExprSubscripts
~/object-assign/index.js?2927:58:1
- react.development.js?1871:1455 Parser.pp$3.parseMaybeConditional
~/react/cjs/react.development.js?1871:1455:1
- react.development.js?1871:1432 Parser.pp$3.parseMaybeAssign
~/react/cjs/react.development.js?1871:1432:1
```
gatsby clipboard:
```
System:
OS: macOS High Sierra 10.13.4
CPU: x64 Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 8.9.2 - ~/.nvm/versions/node/v8.9.2/bin/node
Yarn: 1.9.4 - /usr/local/bin/yarn
npm: 5.5.1 - ~/.nvm/versions/node/v8.9.2/bin/npm
Browsers:
Chrome: 69.0.3497.100
Firefox: 61.0.2
Safari: 11.1
npmPackages:
gatsby: 1.9.273 => 1.9.273
gatsby-link: ^1.6.40 => 1.6.46
gatsby-plugin-emotion: ^1.1.17 => 1.1.17
gatsby-plugin-intercom-spa: ^0.0.5 => 0.0.5
gatsby-plugin-netlify: ^1.0.19 => 1.0.21
gatsby-plugin-netlify-cms: ^2.0.1 => 2.0.1
gatsby-plugin-react-helmet: ^2.0.10 => 2.0.11
gatsby-plugin-segment-js: ^2.0.1 => 2.0.1
gatsby-plugin-sharp: ^1.6.44 => 1.6.48
gatsby-remark-images: ^1.5.67 => 1.5.67
gatsby-remark-relative-images: ^0.1.2 => 0.1.2
gatsby-source-filesystem: ^1.5.36 => 1.5.39
gatsby-transformer-remark: ^1.7.41 => 1.7.44
gatsby-transformer-sharp: ^1.6.24 => 1.6.27
npmGlobalPackages:
gatsby-cli: 1.1.58
通过明智的调试,我发现在 gatsby-ssr 中添加对 setHeadComponents 的调用时似乎会出现这种情况。
任何帮助将非常感激!我真的不知道在哪里看:(
解决方案
最后,经过几个小时的问题,结果是我的插件中缺少 .babelrc,这使得 webpack 不知道如何处理 JSX。
解决方案是将 babel-preset-react 添加到我的插件的 package.json 中,并对我的 babelrc 做出反应。
这在插件目录下工作,因为它是由我网站的 babel 配置处理的。
推荐阅读
- mysql - MySQL用子分区重新组织分区
- opencv - 如何计算每个通道值的 RGB 图像标准偏差
- python - Django不导入CSS
- javascript - React - 未使用回调中设置的道具表达式重新渲染的子组件数组
- python - 项目 Euler #12 - 两种代码的性能差异
- python - 如何基于计时器迭代数据帧?
- javascript - 单击链接或导航外部时如何关闭导航?
- asp.net - HttpClient.SendAsync exeption:底层连接已关闭:连接意外关闭
- java - 在 SQL 查询中转义换行符
- php - 在 Cloud SQL 中使用 LIKE 语句的 PDO 参数化查询