저는 노드를 처음 사용하여 jade를 템플릿 언어로 사용하는 앱의 프런트 엔드를 표현하고 작업하고 있습니다. 내 머리를 감싸는 데 어려움을 겪고 있으며, 여기에 철저한 인터넷 검색과 검색을하는 것이 답을 파헤 치지 않은 무언가가 있습니다. coffeescript 및 express.js를 사용하여 jade에 변수를 전달하는 데 문제가 있습니다.
내 응용 프로그램 구조 :app.get '/', (req, res) ->
res.render 'landing',
testvar: 'a test string'
을 그리고 내가 할 수있는 : 내가 할 경우
myapp/
| - app.coffee
| - config.coffee
| - assets/
| - scripts
my coffeescript files (test.coffee)
| - stylesheets
my sass files
| - public/
| - images
| - scripts
my coffeescript compiled as js (test.js)
| - css
my sass files compiled as css
| - views/
| - jade files, layouts, partials etc
은 현재 내가 app.coffee에서 그들을 정의하는 경우, 예를 들어, 옥에 변수를 통과 할 수 있어요 넣어 : landing.jade 속으로
p #{testvar}
그것은 렌더링과 같은 :
<p>a test string</p>
모두 훌륭합니다. 하지만 자산에있는 다른 coffeescript 파일 중 하나에서 변수 또는 개체를 정의하고 비취로 렌더링하도록하려면 어떻게해야합니까? 이 문제를 해결하는 가장 좋은 방법은 무엇입니까? 이것이 가능한가? 나는 익스프레스 폭로를 들여다 보았다. 그러나 이것이 내가 찾고있는 것이 아니거나 정확하게 이해하지 못하고있는 것 같다.
내가 피하려고하는 것은 내 app.coffee 파일을 오브젝트/변수로 더럽 히고 있습니다. 차라리 내 자산 커피 파일에 정의한 다음 앱으로 경로를 정의 할 때 포함 시키십시오. .도망. 그것은 컴파일 된 커피 파일이 고전 스크립트 태그를 사용하여 페이지 상단에 내 layout.jade 파일에 포함되어 있음을 언급 할 가치 :
script(src='scripts/test.js')
같은 문제. myfile.cofeee에 변수를 추가하려고합니다. 해결책을 찾아 냈나요? – Alexis