如果我想要編寫node.js並使用CoffeeScript,我的限制是什麼? 我可以做任何我能夠在JS中做的事情嗎?可以使用CoffeeScript代替JS用於node.js嗎?
回答
是的,CoffeeScript只是編譯成純JS,使其完全兼容node.js.
運行節點CoffeeScripts,您可以:
- 類型
coffee -c example.coffee
編譯,然後node example.js
運行編譯JS。 - 只需輸入
coffee example.coffee
您不僅可以運行在的CoffeeScript節點文件直接與
coffee source.coffee
你也可以要求他們,如果他們的JavaScript文件。舉例來說,如果你在一個目錄下有lib.coffee
,您可以在同一目錄下的另一個CoffeeScript的文件寫
require './lib'
。 (爲了從JavaScript文件執行此操作,您必須在頂部添加require 'coffee-script'
)。因此,除非您使用npm等工具打包部署項目,否則不必在Node下顯式編譯。
一個警告:在堆棧跟蹤中,即使您直接運行CoffeeScript(因此您無法訪問JavaScript),您將看到的行號也會引用編譯的JavaScript。很多人都在試圖解決這個問題,但這是一個很大的挑戰。
的CoffeeScript + ExpressJS + +的CouchDB的Redis +驗證:
視頻教程
我已經佩德羅·特謝拉看到一個偉大的系列教程。他一直在構建關於節點教程的整個系列。他包含對nodemon的引用,用於自動檢測和編輯和重新加載已編輯的.coffee文件。
如果你想自動編譯所有的CoffeeScript文件(在一個目錄,包括子目錄)每次改變成JavaScript時,就使用這個命令:
find . -name '*.coffee' -type f -print0 | xargs -0 coffee -wc
試試這個
#!/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
您可以使用Jitter,一個簡單的連續編譯CoffeeScript。
npm install -g jitter
假設咖啡目錄中有一堆* .coffee文件,並且想將它們編譯到js目錄。然後運行:
jitter coffee js
抖動在後臺運行,直到您終止它(Ctrl + C),觀察新的更改。
是的,這裏有一個不同的&更簡單的答案。你需要做2個步驟。
npm install coffee-script --save # I assume you would have done this already
。已將
require('coffee-script')
作爲將在server.js
的app.js
中執行的第一行。 (UPDATE:因爲咖啡腳本1.7,你將不得不做require('coffee-script/register'))
這將註冊的CoffeeScript編譯您的應用,你就可以開始治療咖啡文件和js文件同樣現在(這意味着你可以要求咖啡文件)
這個方法將要求你在香草javascript中只編寫一個文件(app.js),但好處是你的部署環境不需要把coffeescript作爲初始的全局安裝依賴來運行你的應用程序在這種情況下,你只需要複製你的代碼,並且npm install
會安裝所有必要的包。 npm start
會讓你啓動並運行
- 1. 我可以用JavaScript代替PHP,用Node.js代替Apache嗎?
- 2. CSS可以用於替代字體嗎?
- 3. 是否可以使用CoffeeScript for Node.js來分析我的代碼?
- 4. 我可以使用帶鏈輪的替代js模板嗎?
- 5. 可以使用CDT代替vC++來使用SWIG調用node.js中的C++庫嗎?
- 6. phantomjs可以使用node.js嗎?
- 7. 我可以在項目中混合使用JS和CoffeeScript嗎?
- 8. 我可以使用CoffeeScript結合其他js文件嗎?
- 9. 可以使用Elmah代替try/catch嗎?
- 10. 可以用regex替代替換嗎?
- 11. 好IDE用於node.js + coffeescript + jasmine
- 12. Coffeescript + Node.js:回調的替代品
- 13. node.js可以取代Ruby嗎?
- 14. 替代圖標可用於watchOS嗎?
- 15. 可以將替代圖標應用於iOS應用程序嗎?
- 16. 我可以用代碼替換jaxb.properties嗎?
- 17. Node.js可以調用Chrome嗎?
- 18. 我可以使用Javascript代替C#使用My Brokerage的API嗎?
- 19. CoffeeScript,Node.js,MongoDB和JasperReports,有可能嗎?
- 20. 你可以在IIS中使用node.js嗎?
- 21. ViewPager可以替代ActivityGroup嗎?
- 22. `LockSupport.park()`可以代替Object.wait()嗎?
- 23. UglifyJS可以替代RequireJS嗎?
- 24. 液體模板標記可以用於Coffeescript嗎?
- 25. 我可以在基於web的控制檯上使用node.js嗎?
- 26. 我可以使用mithril js或vue js使用Mongodb嗎?
- 27. Lightbox2 js庫可以使用div嗎?
- 28. Iframe可以交替使用嗎?
- 29. 可以使用JetSetColumns替換JET_coltypLongBinary值嗎?
- 30. 我可以在移動Safari上使用user-css替代CSS嗎?
@donald,我不知道任何組合的CoffeeScript + Node教程。分別學習是理想的。我給Node的鏈接是一個完美的介紹,對於CoffeeScript,這是你需要的全部:http://jashkenas.github.com/coffee-script/ – 2011-01-13 23:23:49
@donald在這裏,試試這個:http:// nodetuts .com/tutorials/16-introduction-to-coffeescript-and-nodejs.html#video – jcollum 2012-03-15 20:34:48
但是,如何使用其他CoffeeScript文件?我不想把所有東西都放在一個CoffeeScript中 – 2012-06-10 12:32:23