2017-09-22 9 views
0

firebaseを使い始めると、firebase関数はhtml形式の文字列を返します。私はパブリックHTMLファイルであるか少なくともリダイレクトする(書き換えなしで)HTMLファイルで返信する方法は見つけられませんでした。関数に応答してpublic htmlファイルまたはコンテンツを送信する

私は新しいnodejsです。私はグーグルで、他のいくつかのモジュール/フレームワークがこれを使用していることを発見しました。

var fs = require('fs'); 
pp.get('/test', function(req, res, next) { 
    var html = fs.readFileSync('./html/test.html', 'utf8') 
    res.render('test', { html: html }) 
    // or res.send(html) 
}) 
+1

FWIW Firebaseとはまったく関係がありません。 – James

+0

他のフレームワークのコードが見つかりました。私はfirebaseについて話しています。 @James –

答えて

0

私はあなただけで、このような "SENDFILE" 方式でのHTMLパスを送信するためにあると思う:

pp.get('/test', function(req, res, next) { 
     res.sendFile('html/test.html'); 
    }); 

はそれがお役に立てば幸いです。

+0

'render'の使用は、適切な設定なしでは動作しません。 – James

+0

ありがとう、私は私の答えを編集 – Sparw

+0

私の質問を読んでください上記のコードは、他のフレームワークや何かから私はそれには私の解決策thatsそれに関連して言及 –

1

renderをボックスから外して使用することはできません。renderはさまざまなタイプのレンダラーで動作します(またはview engineから最低限必要な設定)。ファイルは静的であり、あなたが道を知っていれば、あなたの場合は

は、しかし、あなたは、私は、このソリューションになってしまったし、正常に動作しますres.sendFile

// configure static path (not necessary to render the page but useful if you have other static assets) 
pp.use(express.static(path.resolve(__dirname, 'html')); 
// serve HTML 
pp.get('/test', (req, res) => res.sendFile(path.resolve(__dirname, 'html', 'test.html'))); 
+0

私の質問を読んでください私は上記のコードは、それに関連する私の解決策thatsそれ –

+0

実際のコード。 'const関数= require( 'firebase-functions'); exports.bigben = functions.https.onRequest((REQ、RES)=> { res.status(200).send( ' 'のHello World' '); });' 変更作業。 'const関数= require( 'firebase-functions'); exports.bigben = functions.https.onRequest((req、res)=> { )const hours =(新しい日付()。getHours()%12)+ 1 //ロンドンはUTC + 1時間; res.status本パスを本番環境で使用することはできませんが、__dirnameを使用する代わりにこれを修正するにはどうすればいいのでしょうか?__roordir kindの種類が必要です。 –

0

使用することができます。

const functions = require('firebase-functions'); 
    var path = require('path'); 
    var site_root = path.resolve(__dirname+'/..'); 
    exports.blog = functions.https.onRequest((req, res) => { 
     res.status(200).sendFile(site_root+'/app/index.html') 
    }); 
関連する問題