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!
话题可以关闭
我决定为我的项目使用 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!
话题可以关闭