Электрон: Аргумент «путь» должен иметь тип string. Полученный тип объекта - PullRequest
1 голос
/ 08 марта 2020

Я пытаюсь запустить Google Text-To-Speech в электронном виде, используя NodeJs Text To Speech Client Libary

Я могу использовать require('@google-cloud/text-to-speech'); в main.js моего проекта (где создано окно браузера) `, но я не могу запустить его внутри скрипта изнутри страницы.

Я получаю следующую ошибку:

Uncaught TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type object
    at validateString (internal/validators.js:112:11)
    at Object.basename (path.js:671:5)
    at GrpcClient.loadProto (path\to\project\node_modules\google-gax\build\src\grpc.js:117:29)
    at new TextToSpeechClient (path\to\project\node_modules\@google-cloud\text-to-speech\build\src\v1\text_to_speech_client.js:106:32)
    at file://path/to/project/scripts/speech/ttscli.js:7:16

from этот код , расположенный в scripts/speech/ttscli.js

nodeIntegration, имеет значение true, а scripts/speech/ttscli.js используется примерно так:

<script src="./scripts/speech/ttscli.js"></script>

Любая помощь будет в значительной степени оценили

1 Ответ

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

Аргумент "путь" должен иметь тип string. Полученный объект типа в validateString (внутренний / валидаторы. js: 112: 11) в Object.basename (путь. js: 671: 5)

Это просто: вы не ' передача правильного пути (типа строка).

<script src="./scripts/speech/ttscli.js"></script>

Вы не упоминаете структуру своего проекта - где ваш renderer контекст относительно пути выше? Выполните console.log(__dirname) в вашем скрипте страницы, чтобы увидеть путь к странице и сравнить его с путем выше.

...