TypeError: «оригинальный» аргумент должен иметь тип Function - PullRequest
0 голосов
/ 08 марта 2020

Я получаю эту ошибку, когда пытаюсь потребовать узел tf js в моем приложении для электронной реакции. Эта проблема не возникала раньше, когда у меня не была установлена ​​реакция, и я думаю, что это связано с тем, что в веб-пакете требуется настройка.

const tf = require('@tensorflow/tfjs-node');

Журнал ошибок:

Uncaught TypeError: The "original" argument must be of type Function
    at Object.promisify (util.js:601)
    at Object.<anonymous> (file_system.js:58)
    at Object../node_modules/@tensorflow/tfjs-node/dist/io/file_system.js (file_system.js:359)
    at __webpack_require__ (bootstrap:785)
    at fn (bootstrap:150)
    at Object../node_modules/@tensorflow/tfjs-node/dist/index.js (index.js:34)
    at __webpack_require__ (bootstrap:785)
    at fn (bootstrap:150)
    at Object../src/components/ssd/image_utils.js (image_utils.js:2)
    at __webpack_require__ (bootstrap:785)
    at fn (bootstrap:150)
    at Object.<anonymous> (ssd.js:1)
    at Object../src/components/ssd/ssd.js (ssd.js:196)
    at __webpack_require__ (bootstrap:785)
    at fn (bootstrap:150)
    at Object../src/components/recorder/screen_utils.js (screen_utils.js:5)
    at __webpack_require__ (bootstrap:785)
    at fn (bootstrap:150)
    at Module../src/components/recorder/Recorder.js (Recorder.css?0341:45)
    at __webpack_require__ (bootstrap:785)
    at fn (bootstrap:150)
    at Module../src/Router.js (index.css:7)
    at __webpack_require__ (bootstrap:785)
    at fn (bootstrap:150)
    at Module../src/index.js (index.css?f3f6:45)
    at __webpack_require__ (bootstrap:785)
    at fn (bootstrap:150)
    at Object.1 (serviceWorker.js:141)
    at __webpack_require__ (bootstrap:785)
    at checkDeferredModules (bootstrap:45)
    at Array.webpackJsonpCallback [as push] (bootstrap:32)
    at main.chunk.js:1

I Я новичок в Webpack и буду признателен за любую помощь и с удовольствием отвечу на любые необходимые разъяснения, поскольку я не знаю источник проблемы, чтобы быть более подробным.

Пакет. json:

"dependencies": {
    "@tensorflow/tfjs-node": "^1.6.0",
    "@testing-library/jest-dom": "^4.2.4",
    "@testing-library/react": "^9.5.0",
    "@testing-library/user-event": "^7.2.1",
    "aws-sdk": "^2.635.0",
    "electron": "^8.1.0",
    "electron-is-dev": "^1.1.0",
    "electron-log": "^4.0.7",
    "fs": "0.0.1-security",
    "jimp": "^0.9.5",
    "react": "^16.13.0",
    "react-dom": "^16.13.0",
    "react-router-dom": "^5.1.2",
    "react-scripts": "3.4.0",
    "robotjs": "^0.6.0",
    "util.promisify": "^1.0.1"
  },

1 Ответ

0 голосов
/ 08 марта 2020

Проблема с требованием. «@ tenorflow / tf js -node» экспортирует несколько вещей (возможно), поэтому экспорт внутри этого модуля будет выглядеть примерно так:

module.exports = {
    firstThing,
    secondThing, ...
}

Итак, tf в вашем коде - это объект, а не функция. Итак, вы должны использовать именованный импорт следующим образом:

const {tf} = require('@tensorflow/tfjs-node')

Итак, вы получаете ошибку при вызове tf. Я не работал с этим пакетом, но это похоже на причину ошибки. Если это не решает проблему, добавьте строку, которая выдает ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...