Google 云翻译 API 中缺少 "translate.js"

Missing "translate.js" in Google Cloud Translate API

我决定为我的项目使用 Google Cloud Translation API。一切似乎都很好,直到我尝试 运行 他们的脚本。它总是说我需要 "Use require([])".

在我在 require 的参数中添加方括号后,它说我必须删除 Translate 变量周围的大括号,因为它不是构造函数(尽管在 Google 的脚本中它被编码为 SO) .我这样做了,但我得到了更多的错误。像这样:

我不知道如何解决这个问题。花了一整天试图找出问题所在,但此后一直没有取得任何进展。也许,我缺少 translate.js 文件,因为它在第二张图片上表明了这一点。但是我按照Google官方网站Quickstart tutorial中所说的做了所有事情,下面的命令(npm install @google-cloud/translate)确实下载了很多包,但没有做任何事情,意思是,它不会下载任何 translate.js 或类似的东西。 源代码如下:

index.html:

 <html>
    <head>
    <script src="https://requirejs.org/docs/release/2.3.6/minified/require.js"></script>

        <script src="test.js"></script>
    </head>

    <body><script>main()</script></body>
    </html>

test.js:

async function main(
  projectId = 'text-analyzer-1571113830391' // Your GCP Project Id
) {

  // [START translate_quickstart]
  // Imports the Google Cloud client library
  const Translate = require(['@google-cloud/translate']);

  // Instantiates a client
  const translate = new Translate({projectId});

  // The text to translate
  const text = 'Hello, world!';

  // The target language
  const target = 'ru';

  // Translates some text into Russian
  const [translation] = await translate.translate(text, target);
  console.log(`Text: ${text}`);
  console.log(`Translation: ${translation}`);
}
// [END translate_quickstart]

感谢@Kolban,我记得 Node.js 是服务器端 API,它不能在浏览器中执行任何逻辑。为此,您必须使用 Webpack 等第三方产品来转换您的代码,或者通过 Ajax 进行 REST 调用。再次感谢 Kolban!

话题可以关闭