我正在创建一个 npm 包,它需要 axios
。
当我在我的 React 应用程序中导入它时,我得到了
Module not found: Can't resolve 'axios' in '/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"
}
}
最佳答案
Peer dependencies 让正在使用您的库的开发人员知道他们需要自己安装这些库,因为您编写的库正在使用它。当他们安装您的库但尚未安装这些库时,他们将收到“缺少对等依赖项”警告。
开发依赖项通常用于构建工具,如 webpack、编译器等。
当开发人员安装您的库时,对等和开发依赖项将不会安装。
客户端必须执行类似npm i your-library axios
的操作来安装您的库和对等依赖项。
如果您希望开发人员只安装您的库,而不必自己安装附加组件,例如本例中的 axios,您必须将 is 作为常规依赖项列出。
{
"dependencies": {
"axios": "^0.19.0"
}
}
干杯
关于javascript - 找不到模块 : Can't resolve 'axios' when importing module to react,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56841019/