我使用react-heartbeat编写了这个npm模块nwb。当我在新项目npm i react-heartbeat
中安装此模块时,在运行npm init
之后,只需不到2秒的时间,并且仅安装1个软件包。当我使用npm i react-heartbeat
创建项目后,再次create-react-app
安装此模块时,将花费近 3分钟,添加420个软件包,删除218个软件包并更新1257个软件包。 / p>
我在做什么错了?
我的npm模块非常简单,仅为1 React component。它在package.json
文件中没有依赖性。在nwb设置项目时创建的以下对等依赖项和dev依赖项。
"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。
答案 0 :(得分:0)
create-react-app
应该安装它的依赖项,但可能失败。每次您运行npm i
时,它将安装package.json
中缺少的依赖项。
通过运行npm i
确保在安装依赖项之前已安装依赖项,并且没有进行任何新检查。