node.js - 为什么我在此 Node JS 代码中收到语法错误?
问题描述
嗨,我从 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();
这是 package.json
{
"name": "Hotword_template",
"version": "1.0.0",
"description": "",
"main": "index.js",
"type": "module",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"bumblebee-hotword": "^0.2.1"
}
}
所需的目录“bumblebee-workers”也在同一目录中。我不知道我在哪里做错了,非常感谢任何帮助!
解决方案
看看这两行,您正在导入和使用同名的常量变量。
import Bumblebee from "bumblebee-hotword";
const Bumblebee = require('bumblebee-hotword');
更改const变量的名称可以解决您的问题。