我正在创建一个npm软件包,它需要axios
。
当我将其导入我的React应用程序中
未找到模块:无法在其中解析“ axios” '/ Users / ****** / nodework / consume / node_modules / myModule'
我希望客户端能够安装我的软件包模块,而不必在其末端安装其他依赖项。我该怎么做才能让即时通讯已经使用peerDepencies和devDependencies?
例如,这是我的模块的package.json。
{
"name": "myModule",
"version": "1.6.4",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"devDependencies": {
"axios": "^0.19.0"
},
"peerDependencies": {
"axios": "^0.19.0"
}
}
答案 0 :(得分:1)
对等依赖性使正在使用您的库的开发人员知道自己需要安装这些库,因为您编写的库正在使用它。在安装您的库并且尚未安装这些库时,他们将收到“缺少对等项依赖关系”警告。
dev依赖项通常用于webpack,编译器等构建工具。
开发人员安装您的库时,将不会同时安装对等和开发依赖项。
客户端必须执行类似npm i your-library axios
的操作才能安装您的库和对等依赖项。
如果您希望开发人员仅安装您的库而不必自己安装其他组件(例如axios),则必须将其列为常规依赖项。
{
"dependencies": {
"axios": "^0.19.0"
}
}
欢呼