Node.js-EJS-부분 포함
노드에 Embedded Javascript 렌더러를 사용하려고합니다 : https://github.com/visionmedia/ejs
.ejs 뷰 파일 내에 다른 뷰 파일 (부분)을 포함 할 수있는 방법을 알고 싶습니다.
Express 3.0 사용 :
<%- include myview.ejs %>
경로는로 설정된보기 디렉토리가 아니라 파일을 포함하는 호출자로부터 상대적입니다 app.set("views", "path/to/views")
.
Express에서는 4.x
다음을 사용하여로드했습니다 ejs
.
var path = require('path');
// Set the default templating engine to ejs
app.set('view engine', 'ejs');
app.set('views', path.join(__dirname, 'views'));
// The views/index.ejs exists in the app directory
app.get('/hello', function (req, res) {
res.render('index', {title: 'title'});
});
그런 다음 작동하려면 두 개의 파일이 필요합니다 views/index.ejs
.
<%- include partials/navigation.ejs %>
그리고 views/partials/navigation.ejs
:
<ul><li class="active">...</li>...</ul>
Express ejs
에 html 템플릿 을 사용하도록 지시 할 수도 있습니다 .
var path = require('path');
var EJS = require('ejs');
app.engine('html', EJS.renderFile);
// Set the default templating engine to ejs
app.set('view engine', 'ejs');
app.set('views', path.join(__dirname, 'views'));
// The views/index.html exists in the app directory
app.get('/hello', function (req, res) {
res.render('index.html', {title: 'title'});
});
마지막으로 ejs
레이아웃 모듈을 사용할 수도 있습니다 .
var EJSLayout = require('express-ejs-layouts');
app.use(EJSLayout);
views/layout.ejs
레이아웃으로 를 사용합니다 .
Express 4.x 기준
app.js
// above is all your node requires
// view engine setup
app.set('views', path.join(__dirname, 'views')); <-- ./views has all your .ejs files
app.set('view engine', 'ejs');
error.ejs
<!-- because ejs knows your root directory for views, you can navigate to the ./base directory and select the header.ejs file and include it -->
<% include ./base/header %>
<h1> Other mark up here </h1>
<% include ./base/footer %>
Express 3.x no longer support partial. According to the post ejs 'partial is not defined', you can use "include" keyword in EJS to replace the removed partial functionality.
Try to use the whole path ==>
<% include C:/Users/UserName/Desktop/NodeJS/partials/header.ejs %> ---> pay attention to '/'
Tried this with node --version v8.11.4 + express module v.4.x
EJS by itself currently does not allow view partials. Express does.
ReferenceURL : https://stackoverflow.com/questions/5404830/node-js-ejs-including-a-partial
'Nice programing' 카테고리의 다른 글
JavaScript SDK의 FB.login 메서드에서 액세스 토큰을 얻는 방법 (0) | 2020.12.28 |
---|---|
목표 c, 경로에 파일이 있는지 확인 (0) | 2020.12.28 |
Android에서 사용자 지정 권한을 사용하는 방법은 무엇입니까? (0) | 2020.12.28 |
파이썬에서 튜플을 뒤집는 방법? (0) | 2020.12.28 |
“허가가 아닌 용서를 구하십시오”-설명 (0) | 2020.12.28 |