首页 > 解决方案 > 为什么我在此 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”也在同一目录中。我不知道我在哪里做错了,非常感谢任何帮助!

标签: node.jssyntax-error

解决方案


看看这两行,您正在导入和使用同名的常量变量。

import Bumblebee from "bumblebee-hotword";

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

更改const变量的名称可以解决您的问题。


推荐阅读