2012-01-30 3 views
0

jade-lang과 express로 node.js 사이트에 매니페스트 파일을 추가하는 방법을 알고 싶습니다. 나는 이것을 github에서 issue 239으로 발견했습니다. 내 질문은 우리가 문제의 해결을 기다리는 동안 버퍼에 데이터를 어떻게 추가 할 수 있는가이다.Jade-lang 매니페스트 파일 추가

감사합니다.

답변

0

곧 내 프로젝트 중 하나에서이 작업이 필요할 것으로 예상되므로 시도해보고 싶습니다. 단일 파일에서 수행하려고하면 효과적으로 문제가 있습니다.

!!! 5 
if useManifest 
    html(lang="en", manifest="cache.manifest") 
else 
    html(lang="en") 

    head 
     title sample title 
    body 
     p some content... 

이렇게하면 엉망인 된 HTML이 렌더링됩니다.

routes\index.js에서 :

exports.index = function(req, res){ 
    res.render('testJade', { layout: false, useManifest: true }) 
}; 

views\testJadeInclude.jade에서 : 마지막으로

!!!5 
if useManifest 
    html(lang="en", manifest="cache.manifest") 
     block content 
else 
    html(lang="en") 
     block content 

그리고, views\testJade.jade에서 :

include testJadeInclude 
    block append content 
     head 
      title sample title 
     body 
      p some content 
그러나, 다음은 (그것이 해결 방법 확실히입니다) 잘 작동하는 것 같다

원하는대로 (예 : 클라이언트가 모바일 브라우저 인 경우 등) useManifest를 true 또는 false로 설정합니다.

그리고 나는 그저 다른 방법으로 다른 가능성을 테스트했습니다. 대신 (블록 APPEND를 통해) 콘텐츠 파일의 문서 타입 및 HTML 태그를 포함, 당신은 문서 타입 - HTML 파일의 콘텐츠 파일을 포함, 그래서 다음과 같습니다 할 수있는 간단한 방법이있다

!!! 5 
if useManifest 
    html(lang="en", manifest="cache.manifest") 
     include contentFile 
else 
    html(lang="en") 
     include contentFile 
+0

감사합니다. 내가 필요한 것입니다. – enedebe

2

이 옥 : 조건에 해당하는 경우 그냥이

html(manifest=_condition_ ? "cache.manifest" : undefined) 

이 코드 검사를 시도합니다. 그럴 경우, manifest는 "cache.manifest"로 설정됩니다. 그렇지 않으면 undefined으로 설정되고 삭제됩니다.

관련 문제