Почему я получаю синтаксическую ошибку в коде JS этого узла?

#node.js #syntax-error

Вопрос:

Привет, я начинаю с Node Js и попробовал код в соответствии с документацией здесь. Я сделал все соответственно, но я получаю ошибку ниже.

 const Bumblebee = require('bumblebee-hotword');
    ^

SyntaxError: Identifier 'Bumblebee' has already been declared
at Loader.moduleStrategy (node:internal/modules/esm/translators:147:18)
at async link (node:internal/modules/esm/module_job:48:21)
 

Вот это index.js код

 import Bumblebee from "bumblebee-hotword";

const Bumblebee = require('bumblebee-hotword');

let bumblebee = new Bumblebee();

// set path to worker files
bumblebee.setWorkersPath('/bumblebee-workers');

// add hotword
bumblebee.addHotword('jarvis');

// set sensitivity from 0.0 to 1.0
bumblebee.setSensitivity(1.0);

bumblebee.on('hotword', function(hotword) {
    // YOUR CODE HERE
    console.log('hotword detected:', hotword);
});

bumblebee.start();
 

А вот и пакет.json

   {

  "name": "Hotword_template",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "type": "module",
  "scripts": {
    "test": "echo "Error: no test specified" amp;amp; exit 1"
  },
  "author": "",
  "license": "ISC",

"dependencies": {
  "bumblebee-hotword": "^0.2.1"
}
}
 

Также в этом же каталоге находится требуемый каталог «шмели-работники».
Я не знаю, где я делаю что-то не так, любая помощь высоко ценится!!

Ответ №1:

Посмотрите на эти две строки, вы импортируете и используете постоянную переменную с тем же именем.

 import Bumblebee from "bumblebee-hotword";

const Bumblebee = require('bumblebee-hotword');
 

Изменение имени переменной const может решить вашу проблему.