gpt4 book ai didi

npm - 使用 `peerDependency` 和 `devDependency` 的最佳实践

转载 作者:行者123 更新时间:2023-12-02 19:31:43 25 4
gpt4 key购买 nike

我正在编写一个 React 组件库,不想捆绑 React,所以我将库添加到 peerDependencies 而不是 dependencies

另外,为了防止那些关于缺少 peerDependencies 的愚蠢警告,我将相同的库添加到 devDependencies 部分。

那不是 DRY,但固定警告对我来说比 DRY package.json 更重要。

所以问题是:是否有 DRYer 方法可以实现这一点,或者我是否真的遵循了 2020 年 5 月的最佳实践?

{
"peerDependencies": {
"react": "^16.9.0",
"react-dom": "^16.9.0",
"tslib": "^1.11.0",
},
"devDependencies": {
"@types/react": "^16.9.0",
"react": "^16.9.0",
"react-dom": "^16.9.0",
"typescript": "^3.8.0"
},
"dependencies": {
// nothing here
}
}

最佳答案

对于 npm >= v7,npm 宣布自动安装 peerDependency 包。

因此,只需从 devDependencies 中删除 dep,如果它们已经列在 peerDependencies 部分中,如下所示:

{
"peerDependencies": {
"react": "^16.9.0",
"react-dom": "^16.9.0",
"tslib": "^1.11.0",
},
"devDependencies": {
"@types/react": "^16.9.0",
"typescript": "^3.8.0"
},
"dependencies": {
// nothing here
}
}

对于 npm < 7,请遵循@gcastros 的回答。

--

另见: https://github.com/npm/rfcs/blob/latest/accepted/0025-install-peer-deps.md https://blog.npmjs.org/post/617484925547986944/npm-v7-series-introduction

关于npm - 使用 `peerDependency` 和 `devDependency` 的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61696213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com