4

私はいくつかの共通パターンを共有する一連の Web サービスを作成しています。たとえば、それらはすべて同じ要件を共有しています

var x = require(...);
var y = require(...);

同様の認証を行う

var auth = express.basicAuth(...);
server.use(auth); 

同様のエラーメッセージが表示されます。

server.error(function(err, req, res, next){
    ...
});

何か変更があった場合に、5 つまたは 6 つではなく 1 つの変更を加えることができるように、上記を 1 つの共通の場所に書き込む方法はありますか?

4

1 に答える 1

2

絶対。すべてのサービスに共通の設定/メソッドを実装するベース http サーバーを返すモジュールを作成できます。そこから、そのモジュールを要求するだけで、追加のサービス メソッドを追加できます。

モジュールは次のようになります。

var express = require('express');
var app = express.createServer();

//  Configure

//  Common Functionality
app.error(function(err, req, res, next){
    ...
});

exports.app = app;

そして、このモジュールを次のように使用できます。

var service = require('./service-base').app;

service.get('/users', function(req, res) {
    //  get and return users
});

service.listen(1234);

モジュールから他の項目を公開する必要がある場合は、簡単にそれを実行して、サービス実装ファイルでも利用できるようにすることができます。

于 2012-05-16T23:00:22.087 に答える