2012-05-09 9 views
1

私はCoffeeScriptをかなり使い慣れています。私はExpress.jsフレームワークを使用してNode.jsアプリケーションを作成しようとしています。CoffeeScriptコンパイルexpress.static __dirname + '/ public'が間違っています

app.use(express.static(path + '/public')); 
:私はこれをする必要がある場合

app.use(express["static"](path + '/public')); 

app.use express.static path + '/public' 

が、それはこれにコンパイルされています。そして、私の急行アプリの設定で私が間違ってコンパイルされたコード行を持っています

誰もがなぜこれが起こって、これを修正する方法を知っていますか?私のパブリックフォルダにアクセスできなくなっています。私は彼らが同等だのCoffeeScript 1.3.1

+0

元のソース行を 'app.use(express.static(path + '/ public'));'? 'に変更するとどうなりますか? –

答えて

6

staticは、javascript/ecmascriptの将来のバージョンでは予約語になる可能性があります。ちょうどtopのように。したがって、変数名として使用すると、どこかでエラーが発生する可能性があります。

これはコーヒーがそれを避けようとしている理由です。

しかし、それらは同等ですので、他の場所でエラーを見つけようとしてください。

+0

ありがとう!それは理にかなっている。私はそのような構文を見るのに普通には役に立たないと思う。 – PetersCodeProblems

+0

これをどのように解決しましたか? –

+1

完全に有効なjavascriptコードであるため、解決が必要かどうかはわかりません。 – alex

2

を使用しています

、それについて心配しないでください。

0

輸出静的メソッドは「サーブ静的」モジュールを使用してExpressのフレームワーク:

app.use '/static', require('serve-static')(__dirname + '/static') 

たり、モジュール内の静的メソッドをオーバーライド:

exports.static = require('serve-static'); 

あなたはこのようなあなたの問題を解決しようとします。

関連する問題