在节点下集成编译到JavaScript语言的正确方法?

时间:2013-07-23 18:09:26

标签: javascript node.js coffeescript pug mocha

我正在尝试使用coffeescript,jade和mocha设置应用程序。但是,当我运行mocha时,即使使用--compilers标志,也不会加载jade模板。

我已经使用早午餐进行了类似的设置,并且jade模板会自动转换为commonjs模块。在节点下,它们似乎不作为模块加载。 有没有正确的方法呢?

现在,我正在运行mocha:mocha --compilers coffee:coffee-script,jade:jade

2 个答案:

答案 0 :(得分:1)

我确信有一种方法可以对这些内容进行评审,但要理解的是.coffee文件编译为.js文件,当编写为CommonJS模块时,节点可以运行它们。但是,.jade模板只是编译成单个javascript函数而不是完整的CommonJS模块,因此节点本身永远不能使用.jade模板而没有其他模块来实际将这些独立编译模板函数集成到commonjs模块系统。我猜想像早午餐这样的自动构建工具正在添加一个小的包装器代码样板,以便将模板变成commonjs模块。

答案 1 :(得分:1)

Grunt是一个很好的方式。

coffeescriptjademocha的插件。

使用watch,您可以自动编译文件更改。

编辑:这将是预编译,而不是动态渲染玉/咖啡。

EDIT2:对于一般的coffeescript / mocha测试建议,我发现this article非常有帮助。