文件结构的最佳实践 - 使用Request模块(Node.js + Express.js)

时间:2015-09-29 10:43:19

标签: javascript node.js express

我刚刚在express + node.js项目中安装了Request模块,我想知道在哪个文件夹中我应该放置我的自定义js文件,该文件将包含基本上执行Request模块的以下代码。

var request = require('request');
request('http://www.google.com', function (error, response, body) {
  if (!error && response.statusCode == 200) {
    console.log(body) // Show the HTML for the Google homepage. 
  }
})

这只是一个示例代码,我将拥有自己的,可能的模式代码,所以我假设把它放在app.js中的奇怪位置不被认为是最佳实践。

我也不确定node_module文件夹是否适合执行此目的。

1 个答案:

答案 0 :(得分:1)

正如我的评论一样,SO社区很难在不了解应用程序的功能的情况下决定如何构建应用程序。

但是,您已经询问node_modules是否是执行应用程序代码的好地方......

答案是响亮的'不'。 node_modules文件夹专门用于应用程序使用的模块,而不是应用程序本身。

典型的节点应用程序如下所示:

├── app.js
├── package.json
├── node_modules
   ├── module1
   ├── module2
   ├── etc...

通常,您的应用程序将使用app.js编写,并且在命令行上执行node_modules命令时,Node Package Manager的外部模块将存储在npm install中。 NPM安装package.json文件中列出的软件包。将应用程序代码存储在node_modules中是不好的做法,因为这个文件夹通常被认为可以通过NPM重新构建,并且通常被各种应用程序/开发人员删除,以使您的应用程序更易于移植。

如果要将代码拆分为较小的块,则可以要求使用特定文件而不是已知模块。

以下是一个例子:

文件夹结构

├── app.js
├── lib
   ├── my-local-module.js
├── package.json
├── node_modules

<强> LIB /我的本地-module.js

module.exports = function() {

  console.log('Hello World!');

}

<强> app.js

var myLocalModule = require('./lib/my-local-module.js');

myLocalModule(); // Hello World!

每个程序都需要从某个地方开始。在这种情况下,您可以通过在命令行上运行node app.js来引导此应用程序。反过来,该代码会通过my-local-module.js语句本地化您的require文件。

正如我之前所说;我的建议是将你的代码保存在一个文件中,直到你觉得你的代码库已经足够大,以保证重构和将逻辑委托给其他文件。