Модуль не найден: не удается разрешить 'axios' при импорте модуля для реагирования - PullRequest
2 голосов
/ 01 июля 2019

Я создаю пакет npm, для которого требуется axios.

Когда я импортирую его в свое приложение реакции, я получаю

Модуль не найден: не удается разрешить 'axios' в '/ Users / ****** / nodework / потребляют / 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"
  }
}

1 Ответ

1 голос
/ 02 июля 2019

Зависимости от пиров позволяют разработчикам, использующим вашу библиотеку, знать, что им нужно самим устанавливать эти библиотеки, потому что библиотека, которую вы написали, использует ее.Они получат предупреждения «Отсутствует зависимость от однорангового узла», когда они установят вашу библиотеку, и еще не установили их.

Зависимости dev обычно предназначены для таких инструментов сборки, как webpack, компиляторы и т. Д.

Обазависимости peer и dev не будут установлены , когда разработчик установит вашу библиотеку.

Клиенты должны будут сделать что-то вроде npm i your-library axios для установки как вашей библиотеки, так и зависимости peer.

Если вы хотите, чтобы разработчики устанавливали вашу библиотеку исключительно без необходимости устанавливать дополнительные компоненты самостоятельно, как, например, axios в этом случае, вам придется перечислить это как обычную зависимость.

{
  "dependencies": {
    "axios": "^0.19.0"
  }
}

Cheers

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...