我的create-react-app src文件夹中有一个本地模块(speech.js),该模块是其网站上的Google文本语音转换代码。我将其调整为箭头功能,并使用该特定的导出语法。
const textToSpeech = require('@google-cloud/text-to-speech');
// Import other required libraries
const fs = require('fs');
const util = require('util');
export const main = async () => {
// Creates a client
const client = new textToSpeech.TextToSpeechClient();
// The text to synthesize
const text = "Hello world";
// Construct the request
const request = {
input: {text: text},
// Select the language and SSML Voice Gender (optional)
voice: {languageCode: 'en-US', ssmlGender: 'NEUTRAL'},
// Select the type of audio encoding
audioConfig: {audioEncoding: 'MP3'},
};
// Performs the Text-to-Speech request
const [response] = await client.synthesizeSpeech(request);
// Write the binary audio content to a local file
const writeFile = util.promisify(fs.writeFile);
await writeFile('output.mp3', response.audioContent, 'binary');
console.log('Audio content written to file: output.mp3');
};
我不明白的是为什么该语法在App.js中不起作用。
import {main} from './speech';
我收到错误消息Error: not support
,并且“ 4个堆栈框架被折叠”。很有信息!
有人知道错误可能在这里吗?我以为只要使用es6样式的导入和导出,我都不会收到错误。这可能是由于Speech.js的第一个require()语句引起的吗?任何帮助,将不胜感激。在过去的40分钟里,我一直想把头撞在墙上。
答案 0 :(得分:0)
可能不是正确的答案,但我相信它很有可能是正确的。我相信,由于节点只是运行时环境,而不是实际浏览器的一部分,因此您无法将节点模块与react(前端框架)一起使用。解决这一难题的方法是使用电子。