我正在嘗試使用TypeScript創建Web應用程序。我有我的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
我遇到了下面的圖片。
與我能夠做一個app.render()
調用看到所呈現的HTML在調試器中的字符串,這超過了我能擺脫這種配置的代碼亂搞,但即使仍然只是打電話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);'所以我無法使用它。然而,你的第二個解決方案的確有竅門。謝謝! – James