홈>
ExpressJS를 실행하고 핸들 바를 템플릿 엔진으로 설치했습니다. AdminLTE를 사용하고 있으며 최대 6 개의
hbs
로 분할했습니다.
/views/layouts
의 파일
.
public
에 AdminLTE 템플릿을 넣었습니다.
폴더.
views/layouts
-- base.hbs // as defaultLayout
-- footer.hbs
-- head.hbs
-- js.hbs
-- nav.hbs
-- sidebar.hbs
localhost : 3000에 액세스하려고 할 때마다 노드 콘솔에 다음 오류가 발생합니다.
Error: The partial head could not be found
여기 내
app.js
입니다
설정 :
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var flash = require('express-flash');
var session = require('express-session');
var mongoose = require('mongoose');
var validator = require('express-validator');
var override = require('method-override');
var hbs = require('express-handlebars');
var routes = require('./routes/index');
var users = require('./routes/users');
var app = express();
// view engine setup
app.engine('hbs', hbs({extname: 'hbs', defaultLayout: 'base', layoutDir: __dirname + '/views/layouts'}));
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'hbs');
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: false
}));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use(session({secret: "1234"}));
app.use(flash());
app.use(validator());
app.use(override(function(req, res) {
if (req.body && typeof req.body == 'object' && '_method' in req.body) {
var method = req.body._method;
delete req.body._method;
return method;
}
}));
[...]
이것은 내
base.hbs
입니다
파일 :
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
{{> head}}
</head>
<body class="hold-transition skin-blue sidebar-mini">
<div class="wrapper">
{{> nav}}
{{> sidebar}}
<div class="content-wrapper">
{{{ body }}}
</div>
{{> footer}}
<div class="control-sidebar-bg"></div>
{{> js}}
</div>
</body>
</html>
- 답변 # 1
- 답변 # 2
app.js/index.js에서 사용
hbs.registerPartials(__dirname + '/views/layouts');
템플릿 hbs 파일에서 올바른 구문 사용 예 :
{{> header}}
- 답변 # 3
HTML DOM에서 ID를 제공하여 문제를 해결했습니다. 이 부분은 html에서 놓쳤습니다.
<div class="modal-footer" id="btn-group"></div>
이것은 내 JS 부분입니다
var templateBtnGroup = Handlebars.getTemplate("btn-group", "btn-group.html"); Handlebars.registerPartial("btn-group", templateBtnGroup()); var templateBtnGroupScript = Handlebars.compile($('#handlebars-btn-group').html()); $("#btn-group").append(templateBtnGroupScript());
- 답변 # 4
[const hbs = require('hbs'); //this required before view engine setup hbs.registerPartials(__dirname + '/views/partials'); // view engine setup app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'hbs');
] 1
관련 자료
- ruby on rails - CircleCI는 Gemfile에 나열된 소스에서 번들을 찾을 수 없다고 말합니다
- ibm integration bus - Extended-SQL에 따르면 "Java 메소드를 찾을 수 없습니다"
- 이온 성 4를 사용하여 각도 파이프를 찾을 수 없습니다
- dll - 빌드 파일에서 가짜/패킷"지정된 모듈을 찾을 수 없습니다"
- android studio - '메서드 implemtatation ()'오류를 해결하는 방법은 무엇입니까?
- PHPUnit - php 단위 - ''에서 '/path/to/my/classphp'클래스를 찾을 수 없습니다
- c# - 지정된 절차를 찾을 수없는 dll을로드 할 수 없습니다 (hresult 예외 - 0x8007007f)
- php - 이 문제를 어떻게 해결할 수 있습니까? 오류 404를 찾을 수 없음
- c# - "obj \ Debug \ exampleexe"파일을 찾을 수 없으므로 파일을 복사 할 수 없습니다
- java - 해결 방법 - 배열 유형이 필요합니다 int? 목록이 아닌 배열을 사용하여 거품 정렬
- spring boot - 생성자의 매개 변수 0에 찾을 수없는 유형의 Bean이 필요했습니다
- using directives - TelerikWebUI를 찾을 수 없습니다, 아직 프로젝트 참조에서
- ruby - 번들이 ffi (1110)로 잠겨 있지만 Gemfile에 나열된 소스에서 해당 버전을 찾을 수 없습니다
- Laravel에서 Route not found 오류를 해결하는 방법?
- c# - appbundles 바이너리를 찾을 수 없습니다 (Design Automation V3)
- laravel - phpStorm 승인 테스트에서 'chrome'을 찾을 수 없습니다
- c# - 프로젝트를 빌드하는 동안 "유형 또는 네임 스페이스를 찾을 수 없습니다"오류
- c# - 영역에서 ASPNET Core MVC의 '보기를 찾을 수 없음'오류를 해결하려면 어떻게하나요?
- flutter bloc - 컨텍스트에서 시작하여 조상을 찾을 수 없습니까?
- c# - UWP 앱 빌드 실패"MicrosoftUIXamlMarkup을 찾을 수 없습니다"
관련 질문
- javascript : res.render로 여러 쿼리 객체 전달
- javascript : Node JS-버튼 클릭시 index.html에서 JSON에 액세스
- javascript : Express 서버가 내 반응 앱이 켜져있는 것과 다른 포트를 수신하는 이유
- javascript : 메소드를 바인딩하지 않고 Express Controller는 어떻게 작동합니까?
- javascript : 내가 뭘 잘못했는지 알아 내려면 도움이 필요해
- javascript : module.export를 사용하여 데이터베이스 쿼리에서 데이터 전달
- javascript : 맵 루프를 사용하여 해당 질문이 배열에 저장되는 readline을 사용하여 여러 질문을하는 방법
- javascript : cluster.queue () 호출 후 Puppeteer cluster.close () "충돌"
- javascript : 다중 라이브 클라이언트-서버 (소켓 형) 연결에 가장 적합한 옵션은 무엇입니까?
- node.js : 요청에서 Authorization 헤더를 만료하는 방법은 무엇입니까?
express-handlebars
를 구성하는 동안 partials 디렉토리의 경로를 등록해야합니다 부분을 해당 폴더로 이동하십시오.