关于无服务器功能的基本Node.js问题

时间:2018-10-05 13:33:23

标签: javascript node.js

我是第一次开发Alexa技能。对于“实现”部分,我计划将它们连接到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的在线课程,但想知道我是否真的应该上Java语言课。你会推荐什么?

非常感谢

1 个答案:

答案 0 :(得分:0)

答案:

  1. 是的。您基本上需要使用搜索引擎(例如:google.com)搜索基本语法
  2. 因为某些js文件/模块会将其用作模块,所以使用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作为编程语言的完整环境。因此,这基本上取决于该课程的内容。