2011-01-13 60 views

回答

173

是的,CoffeeScript只是編譯成純JS,使其完全兼容node.js.

運行節點CoffeeScripts,您可以:

  • 類型coffee -c example.coffee編譯,然後node example.js運行編譯JS。
  • 只需輸入coffee example.coffee
+0

@donald,我不知道任何組合的CoffeeScript + Node教程。分別學習是理想的。我給Node的鏈接是一個完美的介紹,對於CoffeeScript,這是你需要的全部:http://jashkenas.github.com/coffee-script/ – 2011-01-13 23:23:49

+0

@donald在這裏,試試這個:http:// nodetuts .com/tutorials/16-introduction-to-coffeescript-and-nodejs.html#video – jcollum 2012-03-15 20:34:48

+2

但是,如何使用其他CoffeeScript文件?我不想把所有東西都放在一個CoffeeScript中 – 2012-06-10 12:32:23

88

您不僅可以運行在的CoffeeScript節點文件直接與

coffee source.coffee 

你也可以要求他們,如果他們的JavaScript文件。舉例來說,如果你在一個目錄下有lib.coffee,您可以在同一目錄下的另一個CoffeeScript的文件寫

require './lib' 

。 (爲了從JavaScript文件執行此操作,您必須在頂部添加require 'coffee-script')。因此,除非您使用npm等工具打包部署項目,否則不必在Node下顯式編譯。

一個警告:在堆棧跟蹤中,即使您直接運行CoffeeScript(因此您無法訪問JavaScript),您將看到的行號也會引用編譯的JavaScript。很多人都在試圖解決這個問題,但這是一個很大的挑戰。

15

視頻教程

我已經佩德羅·特謝拉看到一個偉大的系列教程。他一直在構建關於節點教程的整個系列。他包含對nodemon的引用,用於自動檢測和編輯和重新加載已編輯的.coffee文件。

  1. Coffeescript and Node.js
  2. Nodemon
0

如果你想自動編譯所有的CoffeeScript文件(在一個目錄,包括子目錄)每次改變成JavaScript時,就使用這個命令:

find . -name '*.coffee' -type f -print0 | xargs -0 coffee -wc 
6

試試這個

#!/usr/bin/env coffee 
v = 78 
console.log "The value of v is '#{v}'" 

然後做:

chmod +x demo.coffee 
./demo.coffee 

CoffeeScript中有節點非常穩固的整合。一旦加載了'coffee-script'模塊,可以通過require('coffee-script'),上面演示的she-bang,或者運行coffee demo.coffee ...一旦加載,您可以使用require('./foo')來引入foo.coffee

11

您可以使用Jitter,一個簡單的連續編譯CoffeeScript。

npm install -g jitter 

假設咖啡目錄中有一堆* .coffee文件,並且想將它們編譯到js目錄。然後運行:

jitter coffee js 

抖動在後臺運行,直到您終止它(Ctrl + C),觀察新的更改。

55

是的,這裏有一個不同的&更簡單的答案。你需要做2個步驟。

  1. npm install coffee-script --save # I assume you would have done this already

  2. 已將require('coffee-script')作爲將在server.jsapp.js中執行的第一行。 (UPDATE:因爲咖啡腳本1.7,你將不得不做require('coffee-script/register'))

這將註冊的CoffeeScript編譯您的應用,你就可以開始治療咖啡文件和js文件同樣現在(這意味着你可以要求咖啡文件)

這個方法將要求你在香草javascript中只編寫一個文件(app.js),但好處是你的部署環境不需要把coffeescript作爲初始的全局安裝依賴來運行你的應用程序在這種情況下,你只需要複製你的代碼,並且npm install會安裝所有必要的包。 npm start會讓你啓動並運行

相關問題