javascript - Facebook 信使机器人 : Understanding Syntax

标签 javascript node.js bots

我正在尝试学习如何创建 Facebook 机器人。

I found this amazing article on Medium which illustrates how we can create a messenger bot

在本文中,作者告诉我们在 controllers/verification.js. 中创建一个 verification.js. 文件,并将以下代码粘贴到其中。

module.exports = (req, res) => {
  const hubChallenge = req.query[‘hub.challenge’];
  const hubMode = req.query[‘hub.mode’];
  const verifyTokenMatches = (req.query[‘hub.verify_token’] === ‘crowdbotics’);
  if (hubMode && verifyTokenMatches) {
    res.status(200).send(hubChallenge);
  } else {
    res.status(403).end();
  }
};

现在,在尝试弄清楚这段代码的作用(她已经解释过)之前,我无法理解为什么她没有在这个 Node.Js 文件中包含任何依赖项(准确表达)?

[更新] 有人能详细解释一下上面的代码是做什么的吗?

因为这段代码看起来像 NodeJS 代码,她不应该添加类似

的内容吗?
var express = require("express");
var app = express();

然后做module.exports

最佳答案

总结问题下的评论:

  1. 只有在需要时才必须导入模块。该代码块只是导出一个函数,该函数可以通过导入在任何其他模块中使用。
  2. 作者只是导出了一个匿名的 es6 箭头函数,这是完全合法的。它可以导入为

    import * as whateverYouNameIt from 'controllers/verification';
    

    let func = require('controllers/verification');
    

    看看arrow functionsnode.js module exports

关于javascript - Facebook 信使机器人 : Understanding Syntax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49933211/

相关文章:

node.js - 与 Mongoose 的日期比较

node.js - 如何使用 mongoose/mongodb 在单个查询中应用 $match、$group 和 $sum

c# - 如何在 MS Teams 中诱导 "See More"进行长机器人响应

javascript - 将自定义正文添加到 botium 测试对话中

audio - 音乐 discord.js 机器人 : The "url" argument must be of type string

javascript - jquery-ui datepicker 更改 z-index

javascript - 当用户切换选项卡或最小化浏览器时如何停止 Javascript 函数

javascript - jQuery 插件 - 添加方法

javascript - Lodash 转换对象和字符串的数组混合

node.js - ng update --all 说 'Repository is not clean' 即使 git commit