【问题标题】:React Modal NPM: Trying to use React Modal but getting errors with installationReact Modal NPM:尝试使用 React Modal 但安装时出错
【发布时间】:2016-01-19 12:27:11
【问题描述】:

我正在使用 React 和 Meteor。 我决定使用 React Modal https://www.npmjs.com/package/react-modal

Error: Cannot find module 'react/lib/ExecutionEnvironment' from '/Users/bliss/Coder/ReactMeteor/vedicjoy-react/packages/npm-container/.npm/package/node_modules/react-modal/lib/components'

我采取的步骤: 1.) 在我的 package.json 文件中我添加了"react-modal": "0.5.0"

2.) 在 client.browserify.js 我添加了Modal = require('react-modal');

然后在我得到错误之后,我什至尝试添加这个包https://www.npmjs.com/package/exenv 到 package.son 文件...但这并没有使错误消失。

我正在使用 MeteorJS 框架和 React。

我该怎么做才能让react-modal 在我的项目中工作?

【问题讨论】:

  • 您是否使用了npm install --save react-modal,以便将其添加到您的node_modules 文件夹中?看起来您只是将它添加到 package.json 文件中,并没有实际安装它。

标签: meteor reactjs modal-dialog npm


【解决方案1】:

您必须在 Browserify 包中使用 React 0.14。 Facebook 从这个版本的 React 中删除了 ExecutionEnvironment,react-modal devs are aware of this,它已经在新版本中得到了解决(显然是在今天下午的某个时间发布)。

快速修复。

这是一个快速修复,直到发生这种情况 (source):

$ npm i -D fbjs

然后在yourproject/packages/npm-container/.npm/package/node_modules/react-modal/lib/components/Modal.js 中将'react/lib/ExecutionEnvironment' 替换为'fbjs/lib/ExecutionEnvironment'

编辑:这并不像我想象的那么容易。显然,不同 React 版本的组件彼此不兼容。 :-(。稍后会报告。

【讨论】:

  • 实际上我没有使用 React 0.14....在我的浏览器上,如果我输入 React.version 我得到 React.version "0.13.3"....
  • 我认为正在浏览的软件包版本将与 0.14 版本的 React 捆绑在一起,因此问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-01-15
  • 1970-01-01
  • 2016-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多