如何使用 Express 提供部分动态的 HTML 页面
How do I serve partially dynamic HTML pages with Express?
好吧,这是我的问题:我有一个非常满意的HTML页面,但我希望让它动态化。我正在使用带有Express的Node,我想知道是否有任何方法可以修改然后呈现纯HTML。我不会使用 Jade 或任何其他模板引擎。
我的服务器.js:
var http = require('http');
var express = require('express');
var app = express()
var port = 3000;
var api_router = express.Router();
....
api_router.route('/webm/test/')
.get(function(req, res){
res.sendFile(__dirname + "/test.html")
})
app.use('/api/', api_router);
app.listen(port);
console.log("NodeJS Backend API running.");
目前这不起作用(找不到 HTML 的模板引擎)。它也不能满足我的需求:我希望根据 GET req 在标签中设置"src='blah.webm'"。
这是我想要修改的页面:
<!DOCTYPE html>
<html>
<head>
<title>Index</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="../stylesheet.css">
<link rel="stylesheet" type="text/css" href="stylesheet.css">
</head>
<body>
<div id="header">
<a href="../index.html"><p>../</p></a>
<p>TrentV.net : Trent VanSlyke</p>
</div>
<div class="container" style="display: flex">
<video id="player" src="CUSTOMIZE ME" controls></video>
<div id="related">
</div>
<script src="webm.js" type="text/javascript"></script>
</div>
</body>
</html>
您可以使用快速视图模板,如下所示
则使用 ejs制作一个文件夹模板并在其中添加注册消息文件夹,并将 html.ejs 用于 html 文件,style.ejs 用于 css 和文本响应。
var templateDir = path.join(__dirname, "../../../", 'templates', 'registermessage')
var resetpassword = new EmailTemplate(templateDir)
//var user = {name: 'Joe', pasta: 'spaghetti'}
// the dynamic variable to replace
var locals = {
message: message,
email: email
};
resetpassword.render(locals, function (err, temp) {
if (err) {
console.log("error" + err + "results" + temp);
// console.log( temp.html);
res.send(temp.html);
//next(error, null);
} else {
//console.log(temp.html)
res.send(temp.html);
// next(null, "email sent");
}
})
}
<%消息 %> 将动态替换 html.ejs
<html lang="en" ng-app="xenon-app">
<head>
</head>
<body class="page-background" >
<div class="login-container" >
<!-- Your email id email -->
<p style="font-family: Verdana, Geneva, sans-serif;font-size:13px;"><%=message %></p>
</div>
</body>
</html>
You can use angular in node so that you can use like this ...
make
<!DOCTYPE html>
<html lang="en" ng-app="xenon-app">
<head>
<meta charset="utf-8">
<script src="/assets/js/angular.js"></script>
<script>
var app = angular.module( "xenon-app", [] );
app.controller( "resetPasswordController",function($scope,$http,) {
//some http calls of node and render that data in the page by $scope
$http({
method: 'GET',
url: 'http://localhost:3000/someUrl'
}).then(function successCallback(response) {
// this callback will be called asynchronously
$scope.name=response.name;
// when the response is available
}, function errorCallback(response) {
// called asynchronously if an error occurs
// or server returns response with an error status.
});
});
</script>
</head>
<body ng-controller="resetPasswordController">
<p>
{{name}}
</p>
</body>
</html>
and render this page by
res.sendFile(__dirname + "/test.html")
相关文章:
- 如何使Javascript动态html表及其上的事件
- 使用AngularJS Directive WHITOUT$scope创建一个动态html元素
- Rails:如何在浏览器中显示动态html内容,而不会对其进行转义,也不会引起XSS攻击
- 如何使用jQueryAjax使用动态html输入texbox提交表单
- 使用Kendo的动态HTML元素绑定
- 使用jquery插入动态HTML后,单击不起作用
- jQuery.tmpl没有呈现动态html
- 使用jquery从JSON数据生成动态html
- jQuery自动完成显示不需要的动态html标记
- 使用JavaScript制作动态HTML页面以重定向到URL
- 在angular中,使用ng repeat生成动态html内容
- Dynatable与动态HTML标头断开
- 如何使用jQuery读取动态html表行
- 将点击函数添加到动态 HTML 链接
- 使用 Javascript 的动态 HTML:用不同的内容填充相同的 HTML 对象
- 如何在创建动态 HTML 页面时使用日期选择器
- 动态HTML元素-如何将表单提交到php
- JavaScript确认何时在表单中选择动态HTML字段
- 动态html表,但表头位于底部
- 如何在另一个java脚本函数中访问java脚本中动态html表中单元格的动态赋值