15

我不得不对 react-big-calendar 模块进行一些更改,所以我在 github 上分叉了项目,进行了修改并推送。然后我使用这个命令来安装新包:

npm install https://github.com/wafa-yahyaoui/react-big-calendar/tarball/master --save

该包在 package.json 的依赖项中确定:

"dependencies": {
"@babel/runtime": "7.0.0-beta.55",
"@fortawesome/fontawesome-svg-core": "^1.2.10",
"@fortawesome/free-solid-svg-icons": "^5.6.1",
"@fortawesome/react-fontawesome": "^0.1.3",
"@material-ui/core": "^3.6.2",
"@material-ui/icons": "^2.0.3",
"@types/googlemaps": "3.30.11",
"@types/markerclustererplus": "2.1.33",
"ajv": "6.5.2",
"axios": "^0.18.0",
"bootstrap": "^4.1.3",
"chartist": "^0.11.0",
"classnames": "2.2.6",
"emotion": "^10.0.5",
"enhanced-resolve": "^3.4.1",
"globalize": "^1.4.0",
"history": "^4.7.2",
"iban": "0.0.11",
"jwt-decode": "^2.2.0",
"moment": "2.22.2",
"perfect-scrollbar": "1.4.0",
"react": "^16.6.3",
"react-big-calendar": "https://github.com/wafa-yahyaoui/react-big-calendar/tarball/master",
"react-bootstrap-sweetalert": "^4.4.1",
"react-chartist": "^0.13.1",
"react-datetime": "^2.16.3",
"react-dom": "^16.6.3",
"react-facebook-pixel": "^0.1.2",
"react-ga": "^2.5.6",
"react-google-maps": "^9.4.5",
"react-jvectormap": "0.0.3",
"react-nouislider": "2.0.1",
"react-redux": "^5.1.1",
"react-router": "4.3.1",
"react-router-dom": "^4.3.1",
"react-router-redux": "^5.0.0-alpha.9",
"react-scripts": "1.1.4",
"react-spinners": "^0.4.7",
"react-swipeable-views": "0.12.15",
"react-table": "6.8.6",
"react-tagsinput": "3.19.0",
"react-transition-group": "^1.2.1",
"reactstrap": "^6.5.0",
"redux": "^4.0.1",
"redux-api-middleware": "^2.3.0",
"redux-persist": "^5.10.0",
"redux-persist-transform-filter": "0.0.18",
"redux-thunk": "^2.3.0",
"universal-cookie": "^3.0.7"}

我删除了 node_modules 文件夹,运行npm install但运行时npm start出现此错误:

./src/containers/apartments/calendar.js    
Module not found: Can't resolve 'react-big-calendar' in 
'/Users/wafayahyaoui/homereact/src/containers/apartments'

calendar.js 文件中的导入如下所示:

import React from "react";
import BigCalendar from "react-big-calendar";

如果导入错误,可能是什么原因?谢谢你

4

3 回答 3

24

我面临同样的问题。花了 3-4 个小时才弄清楚是什么问题。这是一个解决方案。

  • 运行命令 - npm run build - 构建 dist 和 lib 文件夹。
  • 从 .gitignore 文件中删除 dist 和 lib。
  • 推送您的代码。

如果你仔细看 package-lock.json,有一行"main": "lib/index.js"指向 lib 文件夹。但是当你 fork react-big-calendar repo 时,这个 repo 中没有 lib 文件夹,只有 src 文件夹。

所以很清楚,首先你必须构建代码并将其推送到你的仓库中。

于 2019-03-18T20:02:15.233 回答
0

我有一个类似的问题,所以也许它会对某人有所帮助。main属性 frompackage.json指向无法访问的构建文件,因此我添加了一个prepare脚本以在发布包之前运行构建。

"main": "dist/index.js",
"scripts": {
  "prepare": "npm run build"
}
于 2020-05-29T14:02:20.687 回答
-1

使用命令:

npm i react-big-calendar
于 2021-09-13T04:42:45.497 回答