Node.js требуется один или несколько раз? - PullRequest
0 голосов
/ 13 сентября 2018

У меня есть 2 файла:

  • APP.js:

const Request = require('request');
const YVideo = require('./classes/YVideo');
const yvideo = new YTVideo();
  • YVideo.js:

class YVideo {
  constructor(uuid){
    this.uuid = uuid;
    this.url = 'https://example.com/get_video_info?uuid=';
    Request.get(this.url+this.uuid, function(err, resp, body){
      this.data = body.split('&');
    });
    console.log(this.data);
  }
}
exports = module.exports = YTVideo;

Код работает до " Request.get (...) ". Консоль показывает эту ошибку:
" ReferenceError: Запрос не определен ".

Теперь я новичок в Node.js, поэтому я спрашиваю: мне каждый раз требовать один и тот же модуль для всех .js, где я его использую, или есть способ требовать его один раз для всего приложения?

Ответы [ 2 ]

0 голосов
/ 13 сентября 2018

Вопрос: Должен ли я требовать один и тот же модуль каждый раз для всех .js, где я его использую, или есть способ требовать его один раз для всего приложения?

require локально загружаетсякаждый модуль, поэтому вам нужно будет использовать require в каждом .js файле, который вам нужен.

From https://www.w3resource.com/node.js/nodejs-global-object.php

Функция require () является встроенной-в функции, и используется для включения других модулей, которые существуют в отдельных файлах, строка, определяющая модуль для загрузки.Он принимает один аргумент.Он не глобальный, а локальный для каждого модуля.

0 голосов
/ 13 сентября 2018

Требуется во всех файлах, где вам это нужно.Поэтому добавьте его в файл YVideo, где это необходимо.

const Request = require('request');
class YVideo {
  constructor(uuid){
    this.uuid = uuid;
    this.url = 'https://example.com/get_video_info?uuid=';
    Request.get(this.url+this.uuid, function(err, resp, body){
      this.data = body.split('&');
    });
    console.log(this.data);
  }
}
exports = module.exports = YTVideo;
...