CoffeeScript更新未在重新启动时反映出来

时间:2013-11-13 04:54:54

标签: node.js express coffeescript foreman

我正在使用foaasgithub)的一个分支,一个用CoffeeScript和Node构建的小服务。我已经在ec2实例上运行了,作为一个起点,刚刚在server.coffee中切换了一些硬编码的字符串值。

进行更改后,我再次使用以下命令运行服务器:

coffee server.coffee

问题是没有任何改变!我交换过的字符串仍然反映了它们的旧值。很明显,我错过了一些在这里建立的构建工具。目录树看起来像这样:

├── lib
│   └── operations.coffee
├── LICENSE
├── package.json
├── Procfile
├── public
│   ├── googlead0e382f658e6d8e.html
│   └── index.html
├── README.md
└── server.coffee

从我收集的内容来看,我需要一个工具来读取Procfile,以便将coffeescript文件编译成js并一次性运行它们。对谷歌而言,这是一个相当抽象的事情,我的尝试已证明毫无结果。如何反映我的更改?

我没有使用过Node,并且根本没有使用过CoffeeScript或Express,但我已经阅读了相关的文档,所以主要是知道代码中发生了什么。

2 个答案:

答案 0 :(得分:1)

您需要foreman来启动Procfile - 您可以使用node-dev来运行您的服务器(在更改时会自动重新启动)。

npm install node-dev --save

为避免Grunt头疼,您还可以在Procfile中指定编译观察器:

web: ./node_modules/node-dev/bin/node-dev server.coffee
coffee: ./node_modules/.bin/coffee --watch --compile --output ./ lib

并运行您的Procfile:foreman start -f Procfile

请参阅here了解coffee-script命令行用法

答案 1 :(得分:0)

扩大了解决问题的评论:

在每次更改时,您都可以使用Supervisor

重新启动服务器

作为额外步骤,将咖啡文件构建为js 您可以使用grunt自动编辑,并观察咖啡文件的更改。