如何使用node-youtube-dl驱动程序?

时间:2015-07-09 06:11:48

标签: javascript node.js youtube youtube-dl

我使用youtube-dl node driver获取有关youtube上视频的信息,但我遇到了ReferenceError问题 - 未定义require(第一行)。我在笔记本电脑上安装了node-youtube-dl模块,代码只是从描述中的示例中获取的。还有什么我不想做的事吗?



var youtubedl = require('youtube-dl');
var url = 'https://www.youtube.com/watch?v=9Q7Vr3yQYWQ';

ytdl.getInfo(url, function(err, info) {
  if (err) throw err;

  console.log('id:', info.id);
  console.log('title:', info.title);
  console.log('url:', info.url);
  console.log('thumbnail:', info.thumbnail);
  console.log('description:', info.description);
  console.log('filename:', info._filename);
  console.log('duration:', info.duration);
  console.log('format_id:', info.format_id);
});




2 个答案:

答案 0 :(得分:2)

require()是Node.js中的关键字。它用于导入类似于npm注册表中的CommonJS模块。但它不是您浏览器中的关键字,尝试使用它会返回ReferenceError,如您所述。

如果您想在浏览器中使用require()导入npm模块,可以尝试browserifywebpack。但是,完全有可能(可能?)youtube-dl与browserify或webpack不兼容。

如果您不需要从浏览器运行它,可以将代码放在一个文件中(例如,myFile.js)并从命令行运行它与节点:

node myFile.js

答案 1 :(得分:0)

在您的样本中:

  

var youtubedl = require(' youtube-dl');

但是后来你称之为:

  

ytdl.getInfo(url,function(err,info)

只需将您的需要重命名为ytdl,就像这样:

  

var ytdl = require(' youtube-dl');