Задать вопрос
asyaevloeva
@asyaevloeva

Как подключить пакеты в Node.js?

пытаюсь подключить (устрановленные через npm install) пакеты, но получаю ошибки

когда делаю var spotify = require('spotify-web-api-js');
то получаю
Uncaught ReferenceError: require is not defined

если делаю import 'spotify-web-api-js';
Uncaught TypeError: Failed to resolve module specifier "spotify-web-api-js". Relative references must start with either "/", "./", or "../".


package.json:
{
  "dependencies": {
    "axios": "^0.27.2",
    "node-fetch": "^3.2.10",
    "spotify-web-api-js": "^1.5.2"
  },
  "type": "module"
}

в node консоли:
> require('spotify-web-api-js')
[Function: Constr]
  • Вопрос задан
  • 667 просмотров
Подписаться 1 Простой 8 комментариев
Пригласить эксперта
Ответы на вопрос 2
require не будет работать когда в package.json указан тип "module"

пробуй вот так подключить

import SpotifyWebApi from 'spotify-web-api-js'
Ответ написан
Копия моего комментария, с попыткой воспроизвести

Вот с таким package.json
{
  "name": "node_test",
  "version": "1.0.0",
  "main": "index.js",
  "dependencies": {
    "spotify-web-api-js": "^1.5.2"
  },
  "type": "module"
}

и вот таким index.js:
import SpotifyWebApi from "spotify-web-api-js";
// const SpotifyWebApi = require("spotify-web-api-js");
const spotify = new SpotifyWebApi();
spotify.getGeneric("???", () => console.log("callback"));

Всё работает.
Если убрать type: module, то тогда вместо import можно (и нужно) будет использовать require.

Ну кроме того что библиотека эта предназначена для браузера, а не для ноды, а по тому она сразу падает из-за того что не может найти XMLHttpRequest.

Мне кажется, вы просто забыли вызвать npm install, чтобы скачать зависимости.

PS: в ноде эту библиотеку использовать нельзя.
Для ноды следует брать эту:https://www.npmjs.com/package/spotify-web-api-node
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы