use*_*147 26 html-rendering node.js express
我使用此函数将html文件发送到客户端,但在客户端我什么都没有(空白页)没有错误.我错了什么?,请帮帮忙?
var express = require('express');
var fs = require('fs');
var app = express();
app.set('view engine', 'jade');
app.engine('jade', require('jade').__express);
app.get('/test', function(req, res) {
fs.readFile(__dirname + '/views/test.html', 'utf8', function(err, text){
res.send(text);
});
var port = process.env.PORT || 80;
var server = app.listen(port);
console.log('Express app started on port ' + port);
Run Code Online (Sandbox Code Playgroud)
我的test.html文件
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style something here </style>
<title>Test</title>
<script src="..."></script>
</head>
<body>
<div> Somthing here </div>
<script type="text/javascript">
//something here
</script>
</body></html>
Run Code Online (Sandbox Code Playgroud)
小智 55
试试这样的代码:
var app = express();
app.get('/test', function(req, res) {
res.sendFile('views/test.html', {root: __dirname })
});
Run Code Online (Sandbox Code Playgroud)
使用res.sendFile而不是手动读取文件,因此express可以为您正确设置内容类型.
您不需要该app.engine行,因为它由express内部处理.
您可以更轻松地在express 中呈现页面
var app = require('express')();
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.get('/signup',function(req,res){
res.sendFile(path.join(__dirname,'/signup.html'));
});
Run Code Online (Sandbox Code Playgroud)
所以如果你提出这样的请求http://127.0.0.1:8080/signup,它会在views文件夹下呈现signup.html页面。
| 归档时间: |
|
| 查看次数: |
91913 次 |
| 最近记录: |