节点Ejs模块,包括不工作
Node Ejs module, include not working
我有一些麻烦,包括一个html片段到我的index.html。我试着遵循,ejs文档,但我只是不能使它工作。
目录结构:
project
-public
--assets
---css
---images
---js
--Index
---index.html + index.css and index.js
--someOtherPageFolder
-views
--partials
---partials1.ejs
--index.ejs
--layout.ejs
-server.js
这是我的server.js (NEW)
var express = require("express");
var partials = require("express-partials");
var http = require('http');
var path = require('path');
var app = express();
app.get("/", function(req, res) {
res.redirect("index");
});
app.configure(function(){
app.set('port', process.env.PORT || 8888);
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.use(partials());
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.json());
app.use(express.urlencoded());
app.use(express.methodOverride());
app.use(express.bodyParser());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
});
http.createServer(app).listen(app.get('port'), function(){
console.log('App listening on port ' + app.get('port'));
});
这是我的test. js:
<h1>This is test!</h1>
这就是我想要的html片段的位置:
<div id="sb-site">
<div class="">
<p>Not test</p>
<%- include test.html %>
</div>
</div>
我做错了什么?还有一种方法让我这样做,并使用。html而不是。ejs(我使用eclipse,它不支持。ejs文件)
使用include,你应该这样做:
<%- include ("./partials/footer") %>
表示3 break ejs partial,用express-partials
代替
// Include it like so with your other modules
var express = require("express");
var partials = require('express-partials');
var server = express();
// Finally add it into your server conviguration
server.configure(function(){
server.set('view engine', 'ejs');
// Include partials middleware into the server
server.use(partials());
});
在您的.ejs
视图中,享受像这样的奢华…
<%- include ../partials/header %>
<section id="welcome">
Welcome
</section>
<%- include ../partials/footer %>
另外,不要将ejs模块设置为读取.html
,只需按照此答案让eclipse将.ejs
呈现为.html
。如何让eclipse将.ejs文件解释为.html?
作为一个例子,这是一个基本的表达式结构是如何设置的…
project
--public
--views
----layout.ejs
----index.ejs
----partials
------partial1.ejs
--server.js
server.js看起来像…
var express = require('express'),
partials = require('express-partials'),
http = require('http'),
path = require('path');
var app = express();
// all environments
app.configure(function() {
app.set('port', process.env.PORT || 3838);
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
// Middleware
app.use(partials());
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.json());
app.use(express.urlencoded());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
});
http.createServer(app).listen(app.get('port'), function(){
console.log('App listening on port ' + app.get('port'));
});
你的路线看起来像…
server.get("/", function(req, res) {
res.render("index");
});
最后,你的layout.ejs…
<html>
<head>
<title></title>
</head>
<body>
<%- body %>
</body>
</html>
和索引。ejs…
<div id="index">
<%- include partial1.ejs %>
</div>
如果您需要一个工作示例的引用,这里是
您需要使用新的include语法:
before: <%- include test.html %>%- include ('test') %>
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- 扩展移相器按钮类不工作
- ajaxToolkit PopupControlExtender不工作.过时的
- Rails-JQueryUIAutcomplete和AJAX不工作,可以't连接到数据库
- PHP Javascript显示/隐藏按钮不工作
- JavaScript-在手机上不工作的情况下,在外部单击时隐藏元素
- ngSubmit在modal中不工作
- ng消息包括不工作
- jsPDF使用downloadify包括一个不工作的图像
- javascript地理位置不工作,除非我包括警报显示/延迟脚本
- 解析云代码新SDK包括子类不工作
- Jquery DatePicker不工作,包括所有依赖项
- 点击网页打开window.open(),其中包括框架集,但窗口.关闭不工作的框架集
- 包括不引人注目的ajax使所有脚本停止工作
- 谷歌应用脚本模板语句,包括外部文件不工作
- CSS/JS不工作,如果我包括头
- 简单的ng包括不工作
- 包括不能在chrome浏览器中工作
- 节点Ejs模块,包括不工作
- w3school包括HTML, javascript不工作