【发布时间】:2012-07-02 22:08:29
【问题描述】:
我是 node 和 express 的新手,我在使用 jam 作为模板语言的应用程序的前端工作。有些事情我仍然无法解决问题,并且在这里进行详尽的谷歌搜索和搜索还没有找到答案。
我的应用结构:
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 中定义变量,目前我可以将变量传递给玉,例如,如果我这样做:
app.get '/', (req, res) ->
res.render 'landing',
testvar: 'a test string'
那么我可以说:
p #{testvar}
进入landing.jade,它会呈现为:
<p>a test string</p>
这一切都很好。但是,如果我想在位于资产中的其他咖啡脚本文件之一中定义一个变量或对象,然后让它由玉渲染呢?解决此问题的最佳方法是什么?这可能吗?我已经研究过 express-expose,但似乎这不是我想要的,或者我没有正确理解它。
我要避免的是用一堆对象/变量弄脏我的 app.coffee 文件,我宁愿在我的资产咖啡文件中定义它们,然后在我用 app.coffee 定义路由时将它们包含在内。得到。值得一提的是,编译后的coffee文件包含在我页面顶部的layout.jade文件中,使用了一个经典的脚本标签:
script(src='scripts/test.js')
【问题讨论】:
-
同样的问题。我正在尝试将变量添加到
myfile.cofeee。你找到解决办法了吗?
标签: javascript node.js express pug