Ошибка Npm при включении x-ray-scraper в проект

#javascript #vue.js #x-ray

#javascript #vue.js #рентгеновский снимок

Вопрос:

Я разрабатываю приложение в Vue, также используя x-ray-scraper библиотеку, но когда я пытаюсь запустить npm run serve консоль для локального просмотра приложения, я получаю следующую ошибку:

 This dependency was not found:

* _http_common in ./node_modules/http-outgoing/index.js

To install it, you can run: npm install --save _http_common
 

Затем я попытался запустить команду npm install --save _http_common и снова получил сообщение об ошибке:

 npm ERR! code ETARGET
npm ERR! notarget No matching version found for undefined@_http_common.
npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doesn't exist.
 

Без x-ray-scraper библиотеки все запускается нормально, но если я включу ее в свой проект, появятся ошибки.
Возможно, ошибка связана с версией, но я не понимаю, как ее исправить.
Мой package.json выглядит так:

 {
  "name": "pc-components",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build"
  },
  "dependencies": {
    "axios": "^0.21.0",
    "cheerio": "^1.0.0-rc.3",
    "core-js": "^3.6.5",
    "dns": "^0.2.2",
    "phantom": "^6.3.0",
    "selenium-webdriver": "^4.0.0-alpha.8",
    "vue": "^2.6.11",
    "webpage": "^0.3.0",
    "x-ray-scraper": "^3.0.6"
  },
  "devDependencies": {
    "@vue/cli-plugin-babel": "~4.5.0",
    "@vue/cli-service": "~4.5.0",
    "vue-template-compiler": "^2.6.11"
  }
}
 

Спасибо за любую помощь.

Комментарии:

1. не могли бы вы поделиться своим пакетом json, пожалуйста

2. @rags2riches { «имя»: «pc-компоненты», «версия»: «0.1.0», «private»: true, «скрипты»: { «serve»: «vue-cli-service serve», «build»: «сборка vue-cli-service» }, «зависимости»: { «axios»: «^ 0.21.0», «cheerio»: «^ 1.0.0-rc.3», «core-js»: «^ 3.6.5», «dns»: «^ 0.2.2», «phantom»: «^ 6.3.0», «vue»: «^ 2.6.11», «веб-страница»: «^ 0.3.0», «рентген»: «^ 2.3.4», «рентгеновский скребок»: «^ 3.0.6» }, «devDependencies»: { «@vue/cli-plugin-babel»: «~ 4.5.0», «@vue/ cli-service»: «~ 4.5.0», «vue-template-compiler»: «^2.6.11» } }

3. для лучшей читаемости лучше добавить его в свой фрагмент кода

4. также добавьте в свой фрагмент, как вы объявляете и инициализируете x-ray и x-ray-scrapper , поскольку вы, похоже, используете оба…

5. @rags2riches В моем проекте я импортирую только x-ray-scraper как import xrc from 'x-ray-scraper'

Ответ №1:

Проблема не имеет ничего общего с инструкцией import, и нет никаких проблем с установленными вами зависимостями.

Это мой тест:

  • инициализация npm в любой каталог, который вы хотите
  • npm устанавливает x-ray-scraper

Затем:

 const x = require("x-ray-scraper");

x('google.com', 'title')
 .then((title) => {
  console.log(title); // Google
});
// logs Google
 

Вам нужен простой серверный сервер, даже длиной в пару строк, чтобы запустить службу и использовать пакет.

Вы можете использовать все, что вам нравится во внешнем интерфейсе, Vue, React и т. Д.

Вам вообще не нужны какие-либо дополнительные зависимости от того, что у вас уже есть.

Пожалуйста, прочитайте документы, чтобы увидеть варианты использования