Node.js需要一次还是多次?

时间:2018-09-13 17:36:47

标签: javascript node.js module requirejs

我有这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 :(得分:0)

在您需要它的所有文件中都必须有它。因此,将其添加到需要的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;

答案 1 :(得分:0)

  

问题:在使用它的所有.js中,我是否每次都需要相同的模块   还是有一种方法可以对整个应用程序要求一次?

require在本地加载每个模块,因此您将必须在需要该模块的每个require文件中使用.js

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

  

require()函数是一个内置函数,用于包含   存在于单独文件中的其他模块,该字符串指定   加载模块。它接受一个参数。这不是全球性的,但   而不是每个模块本地的。

相关问题