簡體   English   中英

Node.js + Express不使用Jade

[英]Node.js + Express without using Jade

是否可以在沒有任何模板引擎的情況下使用express?

是,

app.get('/', function(req, res){
  res.render('index.html');
});

應該工作

更新

有些人可能擔心sendFile只提供客戶端緩存。 有多種方法有服務器端緩存,並保持在線與OP的問題可以發回只是文字太發送

res.send(cache.get(key));

以下是3年多前的原始答案:

對於任何尋找PavingWays替代答案的人,也可以這樣做:

app.get('/', function(req, res) {
  res.sendFile('path/to/index.html');
});

無需寫:

app.use(express['static'](__dirname + '/public'));

對於任何需要在新的快速項目中立即使用常規HTML而不使用jade的人,您可以執行此操作。

index.html添加到views文件夾。

app.js更改

app.get('/', routes.index);

app.get('/', function(req, res) {
  res.sendfile("views/index.html");
});

UPDATE

請改用它。 請參閱以下評論部分以獲取解釋

app.get('/', function(req, res) {
  res.sendFile(__dirname + "/views/index.html"); 
});

您可以使用Express自動提供靜態文件,如下所示:

// define static files somewhere on top
app.use(express['static'](__dirname + '/your_subdir_with_html_files'));

實際上這應該是express.static(...)但是傳遞JSLint以上的版本也可以;)

然后啟動服務器並在端口1337上監聽:

// app listens on this port
app.listen(1337);

Express現在自動提供/ your_subdir_with_html_files中的靜態文件,如下所示:

HTTP://本地主機:1337 / index.html的

HTTP://本地主機:1337 / otherpage.html

在您的主文件中:

app.get('/', function(req, res){
    res.render('index');
});

您的index.jade文件應該只包含:

include index.html

其中index.html是您創建的原始HTML。

這已經過時了 - 3x的正確答案,4x是

第二個答案在這里: 渲染基本的HTML視圖?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM