当我尝试导入本地模块时,React给出错误:不支持的错误

时间:2019-07-04 17:54:34

标签: node.js reactjs import export

我的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分钟里,我一直想把头撞在墙上。

1 个答案:

答案 0 :(得分:0)

可能不是正确的答案,但我相信它很有可能是正确的。我相信,由于节点只是运行时环境,而不是实际浏览器的一部分,因此您无法将节点模块与react(前端框架)一起使用。解决这一难题的方法是使用电子。