我可以在项目中混合使用JS和CoffeeScript吗?

时间:2011-09-11 01:39:30

标签: node.js coffeescript express

我正在使用ExpressJSapp.js是直接的JavaScript。如果我想使用CoffeeScript,我是否必须重写app.js或者我可以用CoffeeScript编写其他文件吗?

3 个答案:

答案 0 :(得分:7)

您是在谈论在服务器端使用CoffeeScript,还是将其作为编译后的JavaScript提供给客户端?无论哪种方式,都很容易。

只要您的应用程序首先加载了.coffee库,您就可以使用require加载coffee-script个文件。所以只需用

启动你的应用程序
require 'coffee-script'

(当然,在用npm安装之后),从那时起,无论何时写下

require 'foo'

来自您应用的任何部分,它会同时查找foo.jsfoo.coffee。 (显然,.coffee文件可以require .js文件,这是正确的;从Node的角度来看,.coffee文件只是JavaScript。)

至于从Express向客户端提供CoffeeScript作为JS,我建议看看我的connect-assets中间件。

答案 1 :(得分:5)

从Coffeescript 1.7.0开始,你需要

require('coffee-script/register');

对提到的

require('coffee-script');

答案 2 :(得分:1)

如果您从.js文件中require("coffee-script"),那么随后可以require("some-module")使用CoffeeScript编写某个模块,并且只需要手动编译步骤它就可以“正常工作”。

请参阅此问题:require()'ing a CoffeeScript file from a JavaScript file or REPL