编写express.js应用程序.辅助方法在哪里?

KGo*_*KGo 9 javascript node.js express

所以我开始使用express.js - 我的第一个JS web开发框架.我没有做任何小事,但开始了一个更大的项目.我正在学习,并在同一时间建设.

来自Python/Flask背景,express似乎非常复杂.

就像在python中一样,如果我想要一个帮助器方法,我可以把它放在文件的顶部,或者放在一个新模块中,然后导入它.超级容易.但是在node/express中,事物是异步的,一切都在exportsmodule.exports(??).辅助方法在哪里?我怎么用回调来打电话给他们?

在我问的另一个问题中,我多次进行同样的计算.在Python中,我会编写一个方法(使用if语句和参数),并使用for.. in...循环多次调用它.我现在的代码非常冗余.

我怎么做快递?编写快速代码的最佳做法是什么?

Kra*_*mir 11

这实际上取决于你的助手在做什么.如果它使用作为参数传递给它的数据进行操作,那么您可以将其保存在外部模块中并用于require访问它.

// helpers/FormatString.js
module.exports = function(str) {
   return str.toUpperCase();
}

// app.js
var formatter = require("./helpers/FormatString");
Run Code Online (Sandbox Code Playgroud)

但是,如果您需要修改requestresponse对象,那么我建议将其定义为中间件.即:

app.use(function(req, res, next) {
   // ... do your stuff here
});
Run Code Online (Sandbox Code Playgroud)