刚刚开始使用Node.js,我使用的是Geddy框架(我喜欢它与Rails的相似性)。但我在使用CoffeeScript时遇到了一些问题。我看到Geddy is now "supporting" coffee files了。但是当我开始将缺省的js转换成咖啡时,我得到了错误:
/usr/local/lib/node_modules/geddy/lib/app.js:108
ctor.origPrototype = ctor.prototype;
^
TypeError: Cannot read property 'prototype' of undefined
at _registerControllers (/usr/local/lib/node_modules/geddy/lib/app.js:108:36)
at async.AsyncBase.runItem (/usr/local/lib/node_modules/geddy/node_modules/utilities/lib/async.js:108:10)
at async.AsyncBase.next (/usr/local/lib/node_modules/geddy/node_modules/utilities/lib/async.js:113:12)
at async.AsyncBase.execCallback (/usr/local/lib/node_modules/geddy/node_modules/utilities/lib/async.js:148:54)
at process.startup.processNextTick.process._tickCallback (node.js:244:9)我已经安装了CoffeeScript,但是我真的不知道我还应该在这里做什么。关于这方面的文档几乎不存在。
你知道我错过了什么吗?
发布于 2013-03-24 02:15:14
看看geddy-coffee-templates吧。您可以从coffeescript创建新的基础应用程序。添加模型和控制器现在可以工作了,但是脚手架和资源生成器现在不能工作。
对于现有的应用程序,只需在package.json文件上向coffee-script添加一个依赖项。(Example)。然后是npm install。
发布于 2013-07-27 00:00:05
这个问题可能有点老了,但我刚刚遇到了这个问题。
在我的例子中,我所做的只是添加了一个名为fruits.js的控制器文件,但在我的fruits.js中,我将其定义为:
var Fruit = function () {
...
};
exports.Fruit = Fruit;问题出在文件的命名和实际的变量名不匹配。
在我的例子中,简单的解决方法是:
either rename "Fruit" to "Fruits" 或
change the file name from "fruits.js" to "fruit.js"因此,Geddy希望控制器文件名与文件中的实际变量定义相匹配。
希望你也有同样的问题。
https://stackoverflow.com/questions/15150804
复制相似问题