2

Node.js を使い始めたばかりで、Geddy フレームワークを使用しています (Rails との類似性が気に入っています)。しかし、CoffeeScript で適切に動作させるのに問題があります。Geddy は現在、coffee ファイルを「サポート」しています。しかし、デフォルトの 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 をインストールしましたが、ここで他に何をすればよいかわかりません。これに関するドキュメントはほとんど存在しません。

ここで何が欠けているのか分かりますか?

4

2 に答える 2

0

geddy-coffee-templatesを見てください。coffeescript から新しいベース アプリを作成できます。モデルとコントローラーの追加は現在機能していますが、足場とリソース ジェネレーターは現時点では機能していません。

coffee-script既存のアプリの場合は、package.jsonファイルに依存関係を追加するだけです。()。それからnpm install

于 2013-03-23T18:15:13.543 に答える
0

この質問はおそらく少し古いですが、この問題に遭遇しました。

私の場合、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 がコントローラーのファイル名がファイル内の実際の変数定義と一致することを期待していることです。

あなたが同じ問題を抱えていたことを願っています。

于 2013-07-26T16:00:05.260 に答える