1

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

进行更改后,我再次运行服务器:

coffee server.coffee

问题是没有任何改变!我交换的字符串仍然反映了它们的旧值。很明显,我错过了这里的某种构建工具。目录树如下所示:

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

根据我收集到的信息,我需要一个工具来读取 Procfile,以便将咖啡脚本文件编译成 js 并一次性运行它们。这对谷歌来说是一件相当抽象的事情,我的尝试被证明是徒劳的。如何反映我的更改?

我很少使用 Node,也没有使用过 CoffeeScript 或 Express,但我已经阅读了他们的相关文档,所以大部分时间都知道代码中发生了什么。

4

2 回答 2

1

从解决问题的评论扩展:

在每次更改时,您都可以使用重新启动服务器Supervisor


作为附加步骤,要将咖啡文件构建到 js 中,您可以使用它grunt来自动编译,并观察咖啡文件的变化。

于 2013-11-13T17:02:43.260 回答
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

有关咖啡脚本命令行用法的信息,请参见此处

于 2013-11-13T20:14:29.000 回答