我正在尝试部署Google Cloud功能,我首先将初始需求添加到index.js文件中:
// Import the Google Cloud client libraries
const nl = require('@google-cloud/language')();
const speech = require('@google-cloud/speech')();
const storage = require('@google-cloud/storage')();
但是在部署时我得到以下消息:
Detailed stack trace: TypeError: require(...) is not a function
这只发生在@ google-cloud / speech和@ google-cloud / language模块中,@ google-cloud / storage模块作为一个函数正好加载(我通过评论前两个来测试)。
任何建议都将不胜感激。
Borrigan
答案 0 :(得分:8)
参考此Github comment,google-cloud
v2软件包中进行了一些更改
因此,您导入以下软件包:
const {Storage} = require('@google-cloud/storage');
const storage = new Storage({
// config...
});
答案 1 :(得分:2)
Google云计算功能是nodejs模块,因此语法与nodejs语法相同。
关于你的问题:
你必须写
const storage = require('@google-cloud/storage');
(在每个陈述的末尾没有())
所以正确的声明将是:
// Import the Google Cloud client libraries
const nl = require('@google-cloud/language');
const speech = require('@google-cloud/speech');
const storage = require('@google-cloud/storage');
我希望这会有所帮助。
答案 2 :(得分:1)
它告诉您所需要的不是函数,因此不能用()调用
如果您在这里查看:https://www.npmjs.com/package/@google-cloud/language#using-the-client-library 您看到返回了具有多个类返回函数的服务对象,因此应按以下步骤进行设置:
const nl = require('@google-cloud/language');
const language = new nl.LanguageServiceClient();
答案 3 :(得分:0)
遵循以下新语法:
const {Storage} = require('@google-cloud/storage');
const googleCloudStorage = new Storage({
projectId: 'your-project-id',
keyFilename: 'path-to-json-config-file'
});