gpt4 book ai didi

reactjs - npm 包的对等与依赖关系

转载 作者:行者123 更新时间:2023-12-03 14:24:31 24 4
gpt4 key购买 nike

我正在创建一个react-native npm 模块。

npm 模块使用 React 和 React-Native Packages,即这样说

import React, { Component}  from 'react'
import { View } from 'react-native'

class something extends Component {

render () {
return (
<View>
{/* Code */}
</View>
)

现在,在这里添加我应该添加 React 和 React-native 作为依赖项还是对等依赖项,为什么?

更新:我当前的库(npm 模块)的 package.json

"dependencies": {
"prop-types": "^15.7.2",
"react": "^16.9.0",
"react-native": "^0.60.5",
"react-native-device-info": "^2.3.2"
}

对于应用程序来说,让它类似于

 "dependencies": {
"prop-types": "^15.7.2",
"react": "^16.9.0",
"react-native": "^0.60.5"
}

看起来正确吗?

最佳答案

如果您的模块类似于 ui 库,并且要安装到另一个 React 应用程序中,则它应该将 React 和 React-Native 列为 devDependency 和 PeerDependency。主机应用程序中不应该有两个版本的react(和react-native),因此为了实现这一点,请使用这两个依赖项,它们不会在主机应用程序中安装任何内容。

devDependencies:描述了开发时依赖的包;你都需要react和react-native,所以把它们放在这里;使用您想要的任何版本。

peerDependency:描述您需要/建议您的主机应用程序使用的软件包,版本至少应与您的用途相匹配,因此可能有最低版本或不受限制;

例如检查这个 package.json ,开发时,此包使用“react”:“^16.8.5”作为“devDependency”;并且在安装时,它实际上并没有使用属于某个版本的react的任何特定api,因此它使用“react”:“*”,作为“peerDependency”。

<小时/>

引用文献:

https://nodejs.org/es/blog/npm/peer-dependencies/

What we need is a way of expressing these "dependencies" between plugins and their host package. Some way of saying, "I only work when plugged in to version 1.2.x of my host package, so if you install me, be sure that it's alongside a compatible host." We call this relationship a peer dependency.

https://docs.npmjs.com/specifying-dependencies-and-devdependencies-in-a-package-json-file

"devDependencies": Packages that are only needed for local development and testing.

关于reactjs - npm 包的对等与依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57754885/

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