Tôi đang sử dụng ExpressJS
và app.js
là JavaScript thẳng. Nếu tôi muốn sử dụng CoffeeScript, tôi có phải viết lại app.js hoặc tôi có thể viết các tệp bổ sung của mình bằng CoffeeScript
không?Tôi có thể trộn JS và CoffeeScript trong một dự án không?
Trả lời
Bạn đang nói về việc sử dụng CoffeeScript ở phía máy chủ, hoặc phục vụ nó như JavaScript đã biên dịch cho khách hàng? Dù bằng cách nào, nó khá dễ dàng.
Bạn có thể tải .coffee
tệp với require
, miễn là ứng dụng của bạn đã tải thư viện coffee-script
trước. Vì vậy, chỉ cần bắt đầu ứng dụng của bạn với
require 'coffee-script'
(sau khi cài đặt nó với NPM, tất nhiên) và từ thời điểm đó trở đi, bất cứ lúc nào bạn viết
require 'foo'
từ bất kỳ một phần của ứng dụng của bạn, nó sẽ tìm kiếm cả hai foo.js
và foo.coffee
. (Rõ ràng là ngược lại mới là đúng là một tập tin .coffee
thể require
một file .js
;. Từ quan điểm Node của, file .coffee
chỉ là JavaScript)
Đối với phục vụ CoffeeScript như JS cho khách hàng từ Express, tôi khuyên bạn nên xem trung gian connect-assets của tôi.
Nếu bạn require("coffee-script")
từ tệp .js, thì bạn có thể sau đó require("some-module")
trong đó một số mô-đun được viết bằng CoffeeScript và nó sẽ 'hoạt động' mà không cần bước biên dịch thủ công.
Xem câu hỏi này: require()'ing a CoffeeScript file from a JavaScript file or REPL
Tính đến Coffeescript 1.7.0 bạn cần phải
require('coffee-script/register');
vs đề cập
require('coffee-script');
Chừng nào bạn biên dịch 'nó sang JS, sau đó bạn nên ổn. CoffeeScript chỉ là một cách để viết JS theo kiểu ruby. – tjameson
Vì vậy, tôi cần biên dịch trước khi chạy node.js? Có anyway để tự động hóa nó thông qua thể hiện? – Shamoon