옥 프로필 파일에 뷰 논리가 있습니다. 어떻게 모델을 옥에 전달하고 이메일로 추가 전송을 위해 html을 얻을 수 있습니까?jade 템플릿 파일을 컴파일하여 문자열을 얻는 방법은 무엇입니까?
답변
는 다음을 시도 할 수 있습니다 : template.jade
이 템플릿의 경로입니다
var jade = require('jade'),
fs = require('fs');
fs.readFile('template.jade', 'utf8', function (err, data) {
if (err) throw err;
console.log(data);
var fn = jade.compile(data);
var html = fn({name:'Oleg'});
console.log(html);
});
. 그리고 이것은 다음과 같습니다 :
!!!
html
head
title= 'Hello world'
body
p Hello #{name}!
따라서 모델을 fn() 함수의 입력으로 전달하면이 출력이 html이됩니다.
<!DOCTYPE html><html><head><title>Hello world</title></head><body><p>Hello Oleg!</p></body></html>
또한 당신은
exports.test1 = function(req, res){
res.render('test1', { title: 'test1' }, function(err, body) {
console.log(body);
});
res.send('wooo');
};
test1.jade
div
= title
p hello world!
답변 (예 : 표현) 콜백을 렌더링에서 문자열을 잡을 수 옥 템플릿을로드하고 그것을 컴파일하기위한 모든 작업 지역 주민을 사용하는 HTML. 그러나 HTML 전자 메일을 보내는 경우 대부분의 클라이언트가 모든 CSS 클래스를 제거한다는 사실을 알아야합니다. Juice (또는 비슷한 코드)을 사용하여 모든 CSS 클래스를 인라인으로 적용하십시오.
fs.readFile()
으로 템플릿을 여는 것은 더 이상 필요하지 않습니다. Jade API에는 파일에서 직접 컴파일하는 compileFile()
메서드가 포함되어 있습니다.
var jade = require("jade");
var locals = {name: "Linus"},
render = jade.compileFile('template.jade'),
html = render(locals);
옥 API는 직접도 간단하고, 주어진 파일에서 HTML 문자열을 반환 renderFile()
방법을 포함한다.
var jade = require("jade");
var locals = {name: "Linus"},
html = jade.renderFile('template.jade', locals);
수정하십시오. 다음은 오류를 확인하는 방법에 관한 관련 질문입니다. http://stackoverflow.com/questions/7283896/how-can-i-catch-a-rendering-error-missing-template-in-node-js-using- express-js/34709515 # 34709515 – Wtower
옥 버전은 그게 뭐죠? 내 renderFile (v1.2.0)은 3 개의 인수를 요구합니다 – akcasoy
@akcasoy 다음은 최신 문서들입니다 : http://jade-lang.com/api/. 'renderFile()'설명은 맨 아래에 있고 2 개의 인수가 필요하다는 것을 보여줍니다. – Nocturno
- 1. JADE 템플릿 엔진으로 변환하는 방법은 무엇입니까?
- 2. Backbone.js에서 Jade 템플릿 사용하기
- 3. Express가없는 Jade 템플릿 상속
- 4. pdb를 디 컴파일하여 C# 소스 코드를 얻는 방법은 무엇입니까?
- 5. jade 파일을 expressjs로 렌더링
- 6. jade 템플릿 엔진 인사말이 로그인했습니다.
- 7. jade 템플릿 구문 지원 이클립스?
- 8. apache2를 컴파일하여 webfaction과 유사한 설정을 얻는 방법
- 9. Jade + Express에 조건부 포함
- 10. Jade 템플릿 내의 디렉토리에 파일 나열
- 11. node.js jade 템플릿 - 맞춤 구문 및 대체?
- 12. 템플릿 유형이 템플릿 자체 일 경우 반복자를 얻는 방법은 무엇입니까?
- 13. jade in jade
- 14. URL 문자열을 무시하도록 정규식을 얻는 방법은 무엇입니까?
- 15. JavaScript로 페이지의 쿼리 문자열을 얻는 방법은 무엇입니까?
- 16. 정수에서 유일한 짧은 문자열을 얻는 방법은 무엇입니까?
- 17. C#에서 부분 문자열을 얻는 방법은 무엇입니까?
- 18. AsyncTask에서 문자열을 다시 얻는 방법은 무엇입니까?
- 19. 현재 플랫폼을 설명하는 문자열을 얻는 방법은 무엇입니까?
- 20. iOS에서 하위 문자열을 얻는 방법은 무엇입니까?
- 21. 하위 문자열을 얻는 가장 좋은 방법은 무엇입니까?
- 22. 문자열 배열에서 문자열을 얻는 방법은 무엇입니까?
- 23. xcode "소스를 컴파일하여 특정 파일을 덮어 씁니다"
- 24. greasemonkey 스크립트를 xpi로 컴파일하여 파일을 저장 하시겠습니까?
- 25. xml 레이아웃 파일을 수동으로 사전 컴파일하여 사용하십시오
- 26. eAceelerator를 컴파일하여 PHP 코드 파일을 디코딩
- 27. 리프트 스케일을 사용하여 .jade 파일을 수용합니다.
- 28. .la 파일에서 .so 파일을 얻는 방법은 무엇입니까?
- 29. ASP.NET을 사용하여 Unix 파일을 얻는 방법은 무엇입니까?
- 30. 요청에서 엑셀 파일을 얻는 방법은 무엇입니까?
가 그리고 당신 https://github.com/andris9/Nodemailer이 이메일을 –
감사를 보내도록 권장, 모든 것이 완벽하게 작동 –
당신은 [app.render] (http://expressjs.com/api 사용할 수 있습니다. html # app.render)를 사용하여 템플릿을 문자열로 렌더링합니다. [this] (http://stackoverflow.com/questions/15403791/in-express-js-app-render-vs-res-render-whats -the-difference # answer-15404507) 더 최근 답변. –