私はTypeScriptを使用してwebappを作成しようとしています。私はapp.jsファイルをサーバーに作成していますが、私が定義しているルートは決してヒットしません。代わりに、プロジェクトのルートにあるサーバー上のファイルが表示されます。TypeScriptとExpressを使用すると、ビューはレンダリングされません。代わりにサーバーファイルが表示されます
ここに私のコードです。
//app.ts
import * as express from 'express';
import * as http from 'http-server';
let app = express();
app.set('port', 443);
app.set('views', './views');
app.set('view engine', 'jade');
app.get('/', function(req: any, res: any) {
// This code is never reached on 'GET /' requests.
res.render('index');
});
app.use(function(req: any, res: any, next: any) {});
app.use(function(err, req, res, next) {});
http.createServer().listen(app.get('port'));
console.log("Listening...");
私がlocalhost:443
に行ったとき、私は以下の画像に出会った。私も、私はこの構成から抜け出すことができるより多くのあるデバッガで文字列としてレンダリングされたHTMLを見ることapp.render()
呼び出しを行うことができるんだけど、コードをいじりで
まだapp.render('index');
を呼び出すだけでは、実際に何もレンダリングされません。以下のサンプル。
app.render('index', function(err: Error, html: string) {
console.log(html); // Outputs the rendered view, but it is not rendered on the page.
});
あなたはどう思いますか?
TypeScriptでは、http-serverパッケージは 'http.createServer(app?)'のみ 'http.createServer(Options?| undefined);'をサポートしていないため、これを使用できませんでした。しかし、あなたの2番目の解決策は、そのトリックでした。ありがとうございました! – James