javascript - 找不到模块 : Can't resolve 'axios' when importing module to react

标签 javascript express

我正在创建一个 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/

相关文章:

node.js - Ubuntu 中 Node.js 中的 REST API 与 Express、MongoDB 和 Mongoose。第一次连接时出现 MongoError : failed to connect to server [127. 0.0.1:27017]

javascript - 在客户端与服务器端设置跟踪 cookie?

javascript - 搜索结果应出现在 3 个字符之后

javascript - 解释值应该如何存储在 javascript 中而不使用数据类型 "var"或 "let"以及执行堆栈如何在这里工作

node.js - 如何在express中调试TypeError [ERR_INVALID_ARG_TYPE]?

javascript - 在 Node.js 中的单个 HTTP 请求中调用多个 HTTP 请求

Node.js + Express + Socket.io : No client socket events firing

javascript - 有没有办法制作一个带有 3 个透明框的实心 div?

javascript - 遍历 Angular 2 中的嵌套 FormArray

mysql - 将 Mysql 与 Nodejs 和 Express 一起使用 (node-mysql)