首页 > 解决方案 > 关于无服务器功能的基本 Node.js 问题

问题描述

我是第一次开发 Alexa Skill。对于 Fulfillment 部分,我计划将它们连接到 Azure 上的无服务器函数(用 Node.js 编写)。我使用 Google 的 Dialogflow 开发了意图,我计划将其导出到 Amazon Alexa 的控制台。我是一名 C# 程序员,但愿意学习 Node.js/Javascript 并且有一些基本问题。

我安装/使用了来自 Github 的“azure-functions-core-tools”在 Node.js 中创建我的无服务器函数。它在下面创建了文件。

我的函数名称是 HelloWorld

下面的 Index.js 文件由“func new”命令创建,包含以下内容:

module.exports = async function (context, req) {
    context.log('JavaScript HTTP trigger function processed a request.');

    if (req.query.name || (req.body && req.body.name)) {
        context.res = {
            // status: 200, /* Defaults to 200 */
            body: "Hello " + (req.query.name || req.body.name)
        };
    }
    else {
        context.res = {
            status: 400,
            body: "Please pass a name on the query string or in the request body"
        };
    }
};

我的问题是

1)您是否仅限于每个文件一个功能?
2)我可以在同一个文件中有多个功能吗?
3)如果是这样,这怎么可能,因为仅仅看这个,这个函数没有名字?
4)如果没有,我怎么能在这个函数之外调用其他函数?
5) 我正在学习 Node.js 的在线课程,但我想知道我是否真的应该学习 Javascript 课程。你会推荐什么?

非常感谢

标签: javascriptnode.js

解决方案


答案:

  1. 是的。您基本上需要使用搜索引擎搜索基本语法(例如:google.com)
  2. 因为某些 js-file/module 会将其用作模块,使用导入它require,然后将其用作方法。例如 :

-

// file name - run.js
var asyncFunction = require('index.js'); // This fetches the function, as its exported in index.js
asyncFunction() // this executes the function.
  1. 您使用exportrequire
  2. Nodejs是一套完整的环境,javascript用作编程语言。所以这基本上取决于那门课程的内容。

推荐阅读