2016-12-05 4 views
0

特定のREST URL、たとえば「/ things」でデータを要求するSPAがあります。ノードlite-server:リクエストを任意のファイルの内容にルーティングする方法

私のプロダクションサーバーでは、この要求はデータベースへのクエリと結果を表すJSONの構築によって処理されます。何もない。

"/testdata/test-things.json"の内容の "/ things"でGETに応答するには、どのようにlite-server(またはBrowserSync)を設定しますか?

この質問に答えると、謝罪します(非常に初歩的な使い方のように感じます)が、lite-serverやBrowserSyncのどちらのドキュメントも質問に答えず、Googleが失敗しました。

答えて

0

答えは「私はライトサーバーではできません」と判断しました。私の代わりに、私が必要とするものを正確に行うルーティングルールを定義するためのAPIを提供するExpressを使用する方法があります。ちょっとハッキリです(たとえば、response.sendFile(...)が相対パスをサポートしていないため、以下のpath.join(...)の文字列を参照してください)。私はそうのようなpackage.jsonを更新しました

var express = require('express'); 
var debug = require('debug')('app'); 
var path = require('path'); 

var app = express(); 

app.use(express.static('.')); 

app.get('/', 
    function (req, res) { 
     debug("Root URL requested."); 
     res.sendFile(path.join(__dirname, 'index.html')); 
    }); 

app.get('/test', 
    function (req, res) { 
     debug("GET on /test") 
     res.send('Hello World'); 
    }); 

var port = process.env.PORT || 3000; 
debug("Using port ", port); 
var server = app.listen(port, 
    function() { 
     var host = server.address().address; 
     var port = server.address().port; 
     console.log('Listening at http://%s:%s', host, port); 
    }); 
} 

"main": "nodeapp.js", 
    "scripts": { 
    "cc": "concurrently \"npm -v\" \"npm run tsc:w\" ", 
    "start": "concurrently \"npm run tsc -v\" \"npm run tsc:w\" \"node nodeapp.js\" ", 
    ... 

私のテストでは、このようなスクリプトを使ってノードのブートストラップのインスタンスに対して実行されます

関連する問題