如何使用 node-youtube-dl 驱动程序?
How to use node-youtube-dl driver?
我使用 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);
});
require()
是 Node.js 中的关键字。它用于导入 CommonJS 模块,例如 npm 注册表中的模块。但它不是您浏览器中的关键字,尝试使用它会 return 一个 ReferenceError
正如您所描述的那样。
如果你想在浏览器中使用 require()
导入 npm 模块,你可以尝试 browserify or webpack。但是,youtube-dl
完全有可能(可能?)与 browserify 或 webpack 不兼容。
如果您不需要从浏览器 运行 它,您可以将代码放在一个文件中(比如 myFile.js
)并从命令行 运行 它与节点:
node myFile.js
在您的示例中:
var youtubedl = require('youtube-dl');
不管你后来怎么称呼它:
ytdl.getInfo(url, function(err, info)
只需将您的需求重命名为 ytdl,如下所示:
var ytdl = require('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);
});
require()
是 Node.js 中的关键字。它用于导入 CommonJS 模块,例如 npm 注册表中的模块。但它不是您浏览器中的关键字,尝试使用它会 return 一个 ReferenceError
正如您所描述的那样。
如果你想在浏览器中使用 require()
导入 npm 模块,你可以尝试 browserify or webpack。但是,youtube-dl
完全有可能(可能?)与 browserify 或 webpack 不兼容。
如果您不需要从浏览器 运行 它,您可以将代码放在一个文件中(比如 myFile.js
)并从命令行 运行 它与节点:
node myFile.js
在您的示例中:
var youtubedl = require('youtube-dl');
不管你后来怎么称呼它:
ytdl.getInfo(url, function(err, info)
只需将您的需求重命名为 ytdl,如下所示:
var ytdl = require('youtube-dl');