2012-12-06 3 views
0

노드/익스프레스에 JShare 모듈을 사용하려고합니다. Github에서에 주어진이 비취를 EJS로 변환하는 데 문제가 있습니다

예는 말한다 :

Next, you need to make a call out to the JShare helper method in your layout file:

!!! 
html 
    head 
    title= title 
    link(rel='stylesheet', href='/stylesheets/style.css') 
    !{includeJShare()} 
    body!= body 

그래서,이 예제는 옥에 있습니다. 나는 EJS를 사용하고 있으며, 내 인생에서 도우미 메서드를 구현하는 방법을 알 수 없다. ... 너무 단순 해 보이지만, 무엇이 ! {}이 비취에서 EJS에서 그것을 복제.

+0

'includeJShare()'의 기능은 무엇입니까? 왜냐하면 ejs에서 당신은 단지'<% include filename %>' – chovy

답변

1

!{var}은 옥에서 이스케이프 처리되지 않은 보간입니다. 당신은 수행하여 EJS에서 같은 일을 얻을 수 있어야합니다 :

<%- includeJShare() %> 

이것은 <script> 태그에 작성해야합니다.

편집

EJS가 include을 구문 분석하려고하면 (또는 EJS에)와 그 사이에 node_modules/JShare/jshare.js에 가서 변경 https://github.com/brooklynDev/JShare/issues에 패치 요청을 제출 res.locals.includeJShare 단지 res.locals.JShare 다음 귀하의 ejs에 JShare()을 사용하십시오.

+0

일 뿐이므로 내 추측 이었지만 돌아왔다 : '오류 : ENOENT, 그런 파일이나 디렉토리가 없다 'C : \ ... \ htdocs \ www \ _oodle \ views \ JShare() .ejs'' "include"키워드로 구문 분석하려고하는 것 같아요. @chovy가 지적한 것처럼 키워드이지만, 실행하려고하는 모든 것은 실제 함수입니다. "includeJShare". – minttoothpick

+0

아 맞습니다. 그 오류는 게시하는 것이 좋았을 것입니다! 지금은 node_modules/JShare/jshare.js로 가서 includeJShare를 JShare로 변경 한 다음 ejs에서 JShare()를 사용하십시오. 그런 다음 여기에 문제를 제출하십시오. https://github.com/brooklynDev/JShare/issues – glortho

+0

감사합니다! 부풀어 오릅니다. 그것은'<% - JShare() %>'로 들어가야 만합니다. 그래서'script'를 중심으로 HTML 태그를 벗어나지 않습니다. – minttoothpick

관련 문제