为什么我编写的 npm 模块在使用 create-react-app 创建项目后安装了这么多包?

Why does an npm module I wrote install so many packages after creating project with create-react-app?

我写了这个 npm 模块,react-heartbeat, using nwb。当我在新项目 npm i react-heartbeat 中安装此模块时,就在 运行 npm init 之后,它只用了不到 2 秒并且只安装了 1 个包。当我再次安装此模块时,npm i react-heartbeat,在使用 create-react-app 创建项目后,需要将近 3 分钟,添加 420 个包,删除 218 个包并更新 1257 个包.

我做错了什么?

我的npm模块很简单,就是1 React component. It has no dependencies in the package.json个文件。以下是 nwb 设置项目时创建的对等依赖项和开发依赖项。

"peerDependencies": {
  "react": "16.x"
},
"devDependencies": {
  "@types/mocha": "^5.2.5",
  "nwb": "^0.23.0",
  "react": "^16.5.2",
  "react-dom": "^16.5.2"
},

我按照 nwb 的 documentation 的说明准备发布我的模块 (npm run build) 并发布我的模块 (npm publish)。正确的文件夹在我的白名单中 package.json:

"files": [
  "es",
  "lib",
  "umd"
],

我运行npm publish --dry-run确认我的项目中只包含以下7个文件:

package.json
README.md
es/index.js
lib/index.js
umd/react-heartbeat.js
umd/react-heartbeat.min.js
umd/react-heartbeat.min.js.map

我想知道问题是否出在对等或开发依赖项中,但我不确定如何解决这个问题。

这是 react-heartbeat 的源代码。 可以在 npm 上找到 here

create-react-app 应该安装它的依赖项,但可能失败了。每次你 运行 npm i 它都会从 package.json.

安装缺少的依赖项

确保在通过 运行ning npm i 安装您的依赖项之前安装依赖项,并且不要检查任何新内容。