#angular #ytdl
#angular #ytdl
Вопрос:
Я загружаю ytdl-core для запуска проекта angular npm install ytdl-core --save
(https://www.npmjs.com/package/ytdl-core ). Для использования этого модуля я делаю:
import ytdl from 'ytdl-core';
ytdl(url);
Когда я запускаю приложение angular, оно показывает следующее сообщение:
ERROR in ./node_modules/miniget/dist/index.js
Module not found: Error: Can't resolve 'http' in 'D:workspacescustomernode_modulesminigetdist'
ERROR in ./node_modules/miniget/dist/index.js
Module not found: Error: Can't resolve 'https' in 'D:workspacescustomernode_modulesminigetdist'
ERROR in node_modules/ytdl-core/typings/index.d.ts:2:33 - error TS2307: Cannot find module 'http' or its corresponding type declarations.
2 import { ClientRequest } from 'http';
~~~~~~
В чем проблема?
Ответ №1:
Это вызвано зависимостями модулей узла, которые недоступны в браузере. Добавьте их в свой файл package.json.
"browser": {
"http": false,
"https": false,
"net": false,
"path": false,
"stream": false,
"tls": false
}
Удалите папку node_modules и выполните эти команды
npm install
npm install stream
npm install --save-dev @types/node
npm install ytdl-core --save
Перейдите в свою node_modules/ytdl-core/typings
папку и удалите эти строки из index.d.ts
import { ClientRequest } from 'http'; // Delete this