如何用Node.js / Express自动编译客户端CoffeeScript文件
How to automatically compile client side CoffeeScript files with Node.js / Express
正如标题所说,我试图在页面加载时自动编译公共静态coffeescript文件,而不是自己编译它们并使用。js文件,我如何才能实现这一点,我试图维护一个完整的coffeescript堆栈,这是我唯一遇到麻烦的地方。
tl;dr:阅读文章标题
有许多方法可以完成您正在尝试做的事情。我知道的最简单的两个:
-
使用连接资产模块。这背后的想法是,您在根目录中有一个
/assets
文件夹,并且您使用express.static
实例化它,就像您通常使用/public
文件夹一样。在这里,您还有两个文件夹:/js
和/css
。你的CoffeeScript去你的/js
文件夹。然后,从视图模板中调用js('yourfile')
。这是一个非常简单的模块,但不是最提倡的资产管道。 -
asset-rack使用。虽然不像连接资产那样容易掌握,但它非常灵活,易于扩展。它将是最接近Rails的资产管道的比较对象,并且被大多数流行的JS框架(如Sails.js)所使用。
然而,我真的建议您不要对资产进行动态编译,因为它确实会消耗服务器的性能。
使用构建系统在文件保存上编译会更好——CoffeeScript附带了Cake,所以你可以在你的cakeefile中定义一个watch/compile/build/concatenate步骤,你所需要做的就是在终端上输入$ cake watch
,然后再修改任何代码。
或者您可以编写代码,然后编写$ cake build
。随你喜欢。我还可以补充一点,蛋糕粉可以省去写蛋糕任务的所有痛苦。
coffee --watch --compile .
监视.
中的文件更改,并在更改时编译它们。由于您正在使用expressjs,我认为您也希望在重新编译发生时重新启动服务器:
coffee --compile --watch . &; nodemon server.js
使用https://github.com/remy/nodemon
如果您只想通过HTTP访问编译后的CoffeeScript文件,您也可以尝试一下connect-coffee-script中间件。
与使用coffee --watch --compile
相比,它的优点是不需要单独运行程序。
- 客户端服务器REST API captcha实现
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 如何使用Socket.io将命令从客户端发送到服务器
- 如何轻松地将服务器端变量从Java代码转移到客户端代码
- Meteor方法在客户端返回null,在客户端运行的相同方法返回正确的值
- 从客户端获取修改后的对象,并将其与服务器上的原始对象组合
- 如何将我的javascript库公开给其他客户端使用
- 是否可以使用JavaScript/AAJAX在客户端创建一个文件
- 如何使用Javascript客户端对象模型检索Sharepoint 2010列表项权限
- 返回/从Twit's客户端.get
- 将客户端特定的日期格式返回到服务器MVC4
- 在客户端上编译和渲染复杂的Dust.js模板
- 预编译模板出现Dust.js客户端渲染问题
- 如何用Node.js / Express自动编译客户端CoffeeScript文件
- LESS(客户端)不编译某些CSS属性
- 你需要编译吗?javascript代码在本地客户端Chrome扩展
- 是Google API javascript客户端兼容的闭包高级模式编译
- 可以编译为JavaScript工具;常规的“;客户端开发
- 编译模块化客户端Javascript
- 使用Babel在客户端进行编译、导入和导出,不需要Webpack