2017-05-03 9 views
0

APIとNodeJSアプリケーションを作成するのがかなり新しくなりました。私は、現在のフォルダ構造がNodeJS APIフォルダの設定

|-- node_modules 
|-- server.js 
|--package.json 

server.jsファイルがそれにすべてを持って

//Initiallising node modules 
var express = require("express"); 
var bodyParser = require("body-parser"); 
var sql = require("mssql"); 
var app = express(); 

// Setting Base directory 
app.use(bodyParser.json()); 

//Setting up server 
var server = app.listen(process.env.PORT || 8080, function() { 
    var port = server.address().port; 
    console.log("App now running on port", port); 
}); 

//Initiallising connection string 
    var dbConfig = { 
    user: "XXX", 
    password: "XXX", 
    server: "XXX", 
    database: "XXX" 
    }; 

     //API'S 
//Get all the information we have about an address 
app.get("/api/allinfo", function (req, res) { 
    var query ='Select * from TABLE'; 
    executeQuery(res, query); 
}); 

//Function to connect to database and execute query 
var executeQuery = function (res, query) { 
    sql.connect(dbConfig, function (err) { 
     if (err) 
     console.log("Error while connecting database :- " + err); 
     else{ 
     // create Request object 
     var request = new sql.Request(); 
     // query to the database 
     request.query(query, function (err, result) { 
      if (err) { 
       console.log("Error while querying database :- " + err); 
       res.send(err); 
      } 
      else { 
        res.send(result) 
      } 
     }); 
    } 
}); 
} 

私はどのように再配置んです2つの路線

app.get("/api/allinfo", function (req, res) { 
     code... 
} 
app.get("/api/geo", function (req, res) { 
     more code.. 
} 

を持ってserver.jsファイルを作ってきました適切なフォルダ構造にこれは? これを行うには、コードにどのような調整が必要ですか?

+0

https://www.tutorialspoint.com/nodejs/nodejs_restful_api.htm –

答えて

0

ソースコードのさまざまなモジュールを分離して、読みやすく管理しやすいようにする必要があります。 ここに私のコード構造です -

foldername 
├── data 
├── devops 
├── scripts 
│ ├── deploy-production scripts 
│ ├── crons 
│ ├── db scripts 
└── src 
    ├── app -> init for logs/routes/dbs/engines 
    ├── package.json 
    ├── server.js -> the Server initlializer. 
    ├── common -> files that are used accross codebase 
    ├── routes -> contain various api endpoints 
    ├── db -> various db handlers and ORM's 
    └── data -> various ini/json/xml files used by codebase 

希望します。

0

これは私が使用する構造体である:

foldername 
    controllers 
    models 
    routes 
    utils 
    db 
    server.js 
    package.json 
    lib 
    config 
    middleware 
    scripts 
+0

グレート。 @guruwinderもう少し詳しくserver.jsがそれらのフォルダと対話する方法 –

+0

routesフォルダ内のすべてのファイルは、書いた関数でserver.js内に必要です。現在、 の各ルートファイルは、それぞれのモデルを必要とする特定のコントローラをロードします。 設定は、設定モジュールによって注入されます。 DBフォルダには、必要なデータベース接続を抽象化するために書き込まれたすべてのDBアダプタが含まれています。 Libとutilsには、私が作成した共通のユーティリティ関数またはカスタムライブラリが含まれています。これらは必要に応じてロードされます。 – guruwinder

関連する問題