无法将Brain.JS导入我的NodeJS脚本

时间:2019-11-28 21:45:53

标签: javascript node.js

我正在尝试使用brain.js编写神经网络。但是,NodeJS不允许我同时使用require('brain.js')import 'brain.js'都不这样做。 这是我的代码:

const brain = require('brain.js')

const config = {
    iterations: 15000,
    log: true,
    logPeriod: 500,
    layers: [10]
}

const net = new brain.recurrent.LSTM()

const conjunctions = {
    0: 'Именительный',
    1: 'Родительный',
    2: 'Дательный',
    3: 'Винительный',
    4: 'Творительный',
    5: 'Предложный'
}

const inputData = [
    // some data for training
]

const test = 'Дельфина'

net.train(inputData)
const output = net.run(test)
console.log(`${conjunctions[output]} падеж`)

但是,它显示了使用require('brain.js')运行时的下一个错误:

Error [ERR_REQUIRE_ESM]: Must use import to load ES Module:         c:\Coding\Labs\Node.JS\MochaTest\node_modules\brain.js\src\index.js
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1156:13)
    at Module.load (internal/modules/cjs/loader.js:976:32)
    at Function.Module._load (internal/modules/cjs/loader.js:884:14)
    at Module.require (internal/modules/cjs/loader.js:1016:19)
    at require (internal/modules/cjs/helpers.js:69:18)
    at Object.<anonymous> (c:\Coding\Labs\Node.JS\MochaTest\index.js:1:15)
    at Module._compile (internal/modules/cjs/loader.js:1121:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1160:10)
    at Module.load (internal/modules/cjs/loader.js:976:32)
    at Function.Module._load (internal/modules/cjs/loader.js:884:14) {
      code: 'ERR_REQUIRE_ESM'

}

使用import * as brain from 'brain.js'运行时的下一个错误:

(node:2648) ExperimentalWarning: The ESM module loader is experimental.
file:///c:/Coding/Labs/Node.JS/MochaTest/node_modules/brain.js/src/index.js:1
const activation = require('./activation');
                   ^

ReferenceError: require is not defined
    at file:///c:/Coding/Labs/Node.JS/MochaTest/node_modules/brain.js/src/index.js:1:20
    at ModuleJob.run (internal/modules/esm/module_job.js:109:37)
    at async Loader.import (internal/modules/esm/loader.js:133:24)

使用NodeJS 13.2.0时应该怎么做以及如何正确导入它?在此模块中,我只安装了brain.js和Mocha。

4 个答案:

答案 0 :(得分:0)

在查找了一些tutorials之后,我认为您是使用const brain = require('brain')导入它的。

答案 1 :(得分:0)

你可以像这样导入brainjs:

import brainjs from 'brain.js/src'

正如这里提到的:https://github.com/BrainJS/brain.js/issues/80

答案 2 :(得分:0)

brain js 应该安装,你可以用 npm 来做,但记住,brain 确实有系统依赖, 通常人们忘记安装python(我不知道你的系统,但是当你开始使用它们时很多服务器都是“空的”)

Mac OS X 蟒蛇 2.7 代码

Ubuntu/Debian 蟒蛇 2.7 GNU C++ 环境(可通过 apt 上的 build-essential 包获得) libxi-dev 工作和最新的 OpenGL 驱动程序 发光体 包配置

窗户 蟒蛇 2.7 Microsoft Visual Studio 构建工具 2015 在 cmd 中运行:npm config set msvs_version 2015 在cmd中运行:npm config set python python2.7

答案 3 :(得分:-1)

enter image description here

只需删除package.json中的“ type”:“ module”