我正在使用foaas(github)的一个分支,一个用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,但我已经阅读了相关的文档,所以主要是知道代码中发生了什么。
答案 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
自动编辑,并观察咖啡文件的更改。