使用节点。
以下是我在服务器上提供服务的方式:
app.get('/', function(req, res) {
res.sendfile('./views/index.html');
});
在这个index.html文件中,我有两个需要服务的文件:
head.htm
和body.htm
。
在PHP中,我只使用包含。如何在Node中完成?
答案 0 :(得分:2)
这里的情况有很多解决方案......这取决于个人偏好你倾向于使用哪种工具。
我使用过的一个工具是EJS。你可以在这里阅读所有相关内容:
https://code.google.com/archive/p/embeddedjavascript/wikis/Templates.wiki
编辑:这样的一个示例是具有页眉和页脚模板,其中包含index.ejs页面。 (尽管您可以在索引页面中的任何位置使用包含这些文件进行渲染)。
Index.ejs(ejs只是使用的扩展名,它与其中包含渲染标记的html相同):
<html>
<head>
</head>
<body>
Header.ejs:
</body>
</html>
Footer.ejs:
app.get("/", function(req, res){
res.render("index");
}
内部路线配置:
function your_function( $user_login, $user ) {
// get previous regions the user logged in
// check current region
// notify if abnormal behaviour
}
add_action('wp_login', 'your_function', 10, 2);
显然你需要做的配置要求,我也假设你使用快递,EJS非常容易使用。
答案 1 :(得分:1)
选择a template library,任何模板库。我用nunjucks取得了成功。
然后你可以做类似的事情:
var nunjucks = require("nunjunks");
var app = express();
nunjucks.configure('views', {
autoescape: true,
express: app
});
app.get('/', function(req, res) {
res.render('index.html');
});
和index.html
:
{% include "item.html" %}
答案 2 :(得分:0)
如果你提到你正在使用的模板引擎会有所帮助。默认情况下,它应该是Pug(或Jade)(如果您使用了我认为的快速生成器)。
对于Jade:
app.js:
var express = require('express');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');
// define routes
app.get('/', function(req, res) {
res.render('index.html');
});
现在,默认情况下,views文件夹将用于提供文件。一个好的做法是创建一个主布局,定义HTML文件的一般结构,然后在扩展文件中添加特定内容。
master.pug:
doctype html
html
head
title
block title // title block
link(rel='stylesheet', href='/stylesheets/default.css') //some default styles
block styles // block for more styles
body
include header.pug //include header file
block content // block to insert contents
script(type='text/javascript',src='/javascripts/faculty-index.js') // default scripts
block scripts // block to insert scripts
include footer.pug // include footer file
块定义了一个空间,您可以在扩展文件后输入内容。 Include基本上只包含该空间中文件的代码。现在你的index.pug可以是这样的
index.pug
extends master.pug // extend the base template
block title
| Index Page // adds the content in the title block
block styles
link(rel='stylesheet', href='/stylesheets/index.css') // specific styles for index
block content
h1 This is the index // adds the index content which goes in the body tag where content is defined
此处索引文件使用主文件中的所有内容,并在标题,正文和样式中添加自己的内容。
查看pug documentation了解更多
可以使用任何模板引擎复制类似的行为。我使用的另一个是Handlebars,我更喜欢它,因为它的语法更像是编写html。但是,您必须先设置它。