无法使用终端Visual Studio在本地服务器上启动谷歌云功能



我正在尝试开发我的第一个谷歌云功能,但希望在本地构建和测试。我以前没有这样做过,我只是在学习,所以请耐心等待。

首先-我创建了moralisaccount目录,用默认配置的npm init创建了一个package.json,并用npm install @google-cloud/functions-framework安装了功能框架

AMAC02CLCBTLEE:moralisaccount youthdev$ nvm use node
Now using node v17.3.0 (npm v8.3.0)
AMAC02CLCBTLEE:moralisaccount youthdev$ npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.
See `npm help init` for definitive documentation on these fields
and exactly what they do.
Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.
Press ^C at any time to quit.
package name: (moralisaccount) 
version: (1.0.0) 
description: 
entry point: (index.js) 
test command: 
git repository: 
keywords: 
author: 
license: (ISC) 
About to write to /Users/youthdev/MoralisAccount/package.json:
{
"name": "moralisaccount",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo "Error: no test specified" && exit 1"
},
"author": "",
"license": "ISC"
}

Is this OK? (yes) 
AMAC02CLCBTLEE:moralisaccount youthdev$  npm install @google-cloud/functions-framework
added 103 packages, and audited 104 packages in 4s
8 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
AMAC02CLCBTLEE:moralisaccount youthdev$ 

第二个-在与我的package.json 相同的mortalasacount目录中创建了一个简单的index.js文件,其中包含一个简单函数

/**
* Responds to any HTTP request.
*
* @param {!express:Request} req HTTP request context.
* @param {!express:Response} res HTTP response context.
*/
exports.moralisAccount = async (req, res) => {
let message = req.query.message || req.body.message || 'Hello World!';
res.status(200).send(message);
};

最后-我在visual studio的终端中运行了以下内容,但在终端中没有得到预期的响应。

实际

Node.js v17.3.0
youthdev@AMAC02CLCBTLEE moralisaccount % node node_modules/@google-cloud/functions-framework --target=moralisAccount
youthdev@AMAC02CLCBTLEE moralisaccount % 

预期:

Node.js v17.3.0
youthdev@AMAC02CLCBTLEE moralisaccount % node node_modules/@google-cloud/functions-framework --target=moralisAccount

Serving function...
Function: moralisAccount
URL: http://localhost:8080/

作为一个初学者,我不确定我在哪一步搞砸了。谢谢你的帮助!

尝试使用下面的链接按照步骤操作,效果很好。

https://github.com/GoogleCloudPlatform/functions-framework-nodejs

在您的场景中,不要运行node node_modules/@google-cloud/functions-framework --target=moralisAccount,而是尝试运行npx @google-cloud/functions-framework --target=moralisAccount

样本输出:

o@cloudshell:~/myapp/routes $ npx @google-cloud/functions-framework --target=helloWorld
Serving function...
Function: helloWorld
Signature type: http
URL: http://localhost:8080/

请确保在index.js目录中运行该命令。

最新更新