Node.js требуется один или несколько раз?

У меня есть 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, где я его использую, или есть способ потребовать его один раз для всего приложения?

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

Luca Kiebel 13.09.2018 19:38
1
1
770
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Он должен присутствовать во всех файлах, где он вам нужен. Так что добавьте его в файл 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;
Ответ принят как подходящий

Question: Should I require the same module each time for all .js where I use it or there's a way to require it once for entire app?

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

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

The require() function is a built-in function, and used to include other modules that exist in separate files, a string specifying the module to load. It accepts a single argument. It is not global but rather local to each module.

Другие вопросы по теме