【问题标题】:nodejs include required packages in all route files using require() functionnodejs 使用 require() 函数在所有路由文件中包含所需的包
【发布时间】:2017-07-06 19:10:47
【问题描述】:

您好,我是 nodeJs 的新手,目前正在使用 node 开发一个 Rest API。我打算用一个好的文件夹结构来开发它,所以我可以轻松地扩展它。我根据业务逻辑使用了几个路由文件。

ex :- authRoutes,profileRoutes,orderRoutes ......

目前在每个路由文件中我都必须包含以下代码

var express    = require('express');
var router = express.Router();
var jwt = require('jsonwebtoken');
var passport = require('passport');

我的问题是,在所有路由文件中使用上述代码段是否完全没问题(我关心代码优化/编码标准和执行速度)还是有更好的方法来做到这一点。

如果能解释一下require()函数的功能就更好了。

谢谢

【问题讨论】:

    标签: node.js passport.js


    【解决方案1】:

    根据我的经验,这是非常标准的做法。我建议阅读this question and answer 以了解有关它如何影响程序速度的更多信息。

    TL;require()的DR

    当你的代码行包含一个因require() 而存在的变量时,例如

    var https = require('https');
    https.get(url, function(response) {...});
    

    编译器读取它并进入https 模块文件夹,并查找.get 函数。

    但是,如果您尝试 require() 某个 JavaScript 文件,例如 analysis.js,则必须从您当前所在的文件导航到该文件。例如,如果您想要的文件与您所在的文件处于同一级别,您可以这样访问它:

    var analysis = require('./analysis.js');
    //Let analysis have a function called analyzeWeather
    analysis.analyzeWeather(weather_data);
    

    这些代码行与上面的代码有些不同。在这个require() 语句中,我们说的是获取具有此名称的.js 文件,分析。一旦需要,您就可以访问该 analysis.js 文件中的任何公共函数。

    编辑

    • .js 文件添加了require() 示例。

    【讨论】:

      猜你喜欢
      • 2011-09-26
      • 1970-01-01
      • 2012-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-28
      • 2020-06-20
      • 1970-01-01
      相关资源
      最近更新 更多