0

モジュールがあります:

# a.coffee:
@f = -> console.info 'Hell, oh, world!' # Note that exports == this

そして、私がそれを必要とする別のモジュール:

# b.coffee:
a = require './a'
a.f()

b.coffeeを生成するための明示的なビルドステップなしでコードを実行したいa.js.

NodeJS で行う必要があるのは、まず最初にrequire('coffee-script')1 回だけです。

ブラウザに同等のトリックはありますか?

4

2 に答える 2

1

ブラウザーは、coffeescript をネイティブにサポートしていません。毎回手動でコマンドを実行することなく、コーヒー ファイルに変更を加えて参照できるようにしたい場合は、コーヒー コンパイラを使用してファイルを監視し、変更を加えたときに js ファイルを更新できます。

coffee --watch --compile experimental.coffee

ただし、ブラウザで作業する場合は、js ファイルを作成して参照する手順が必要になります。

コメントから更新

いずれにしてもライブラリで commonjs モジュールをサポートする必要があるため、browserify を検討することをお勧めします。変換機能でやりたいことのようなものをサポートしています: https://github.com/substack/node-browserify#btransformtr

ただし、これはあなたが望むほど素晴らしいものではないかもしれません。ブラウザーが coffeescript を読み取るには、コンパイル プロセスが必要です。パフォーマンス上の理由から、毎回ユーザーの時間を使用しているクライアントではなく、サーバーで発生した方がはるかに優れています!

コンパイルは簡単です。サーバー上にのみ静的ファイルを置きたいので、すべてのコーヒー ファイルを取得し、それらを圧縮された js ファイルにバンドルして、html でそのファイルを参照できるようにするスクリプトを作成するのは簡単です。これは、コーヒー コンパイラまたは grunt などのビルド ツールを使用して行うことができます。

于 2013-05-31T14:10:41.120 に答える