CoffeeScript trên Windows?


115

Làm cách nào để thử CoffeeScript trên Windows?

Hướng dẫn cài đặt chỉ dành cho * nix: http://jashkenas.github.com/coffee-script/#installation

BIÊN TẬP:

Kể từ khi tôi hỏi điều này một lúc trước, nhiều câu trả lời mới đã xuất hiện. Số lượng (và chất lượng) các tùy chọn cho người dùng Windows đã được tăng lên rất nhiều. Tôi đã "chấp nhận" một câu trả lời cách đây khá lâu, sau đó đổi sang các câu trả lời khác (tốt hơn) khi họ đưa ra, nhưng giờ tôi quyết định không chấp nhận bất kỳ câu trả lời nào và để cộng đồng (phiếu bầu) chỉ ra câu trả lời nào là tốt nhất. Cám ơn mọi người đã đóng góp ý kiến.


1
có thể sẽ trợ giúp này stackoverflow.com/questions/2879401/...
Arseny

Đừng bỏ qua câu trả lời tháng 11 năm 2011 của Julian Birch là một phiên bản Windows mới.
DOK

1
@Nick bạn nên đánh dấu câu trả lời của đại tá hoảng sợ là đúng. Có thể mất một lúc để bong bóng lên trên cùng và đó là câu trả lời chính xác.
Billy Moon

Câu trả lời:



35

Có lẽ nó phức tạp hơn khi câu hỏi này được đăng. Nhưng kể từ năm 2012, CoffeeScript dễ sử dụng trên mọi nền tảng. Các hướng dẫn là như nhau cho Windows, Mac hoặc Linux

  1. Cài đặt Nodejs từ http://nodejs.org/
  2. Cài đặt CoffeeScript trên toàn cầu với trình quản lý gói nút npm install -g coffeescripthoặc cục bộnpm install --save-dev coffeescript
  3. Viết kịch bản trong trình soạn thảo văn bản yêu thích của bạn. Lưu nó, nói làhello.coffee
  4. Chạy tập lệnh của bạn coffee hello.coffeehoặc biên dịch nó coffee -c hello.coffee(thành hello.js)

Khác 31 người có thể hài lòng đến và bỏ phiếu cho câu trả lời này - nó xứng đáng được trên đầu ...
Billy mặt trăng

@BillyMoon thứ 32 là đây!
Xiao Peng - ZenUML.com Ngày

Sẽ bỏ phiếu cho câu trả lời này nếu nó được cập nhật với các hướng dẫn để coffeetruy cập vào Windows PATH. Bởi vì chạy npm install -g coffee-scriptkhông không có vẻ để làm điều này.
aroth

20

Node.js chạy trên Cygwin những ngày này, vì vậy có lẽ đó là cách tốt nhất của bạn khi đưa CoffeeScript chạy trên Windows. Tôi sẽ thử điều đó trước.

Nếu bạn có thời gian chạy JavaScript ưa thích khác, bạn có thể sử dụng trình biên dịch dựng sẵn (extras / coffee-script.js). Ví dụ: nếu bạn bao gồm tập lệnh đó trên một trang web, bạn có thể gọi

CoffeeScript.compile(code);

... để lấy lại chuỗi JavaScript đã biên dịch.

CẬP NHẬT 2012-04-12 : Cygwin không còn cần thiết để chạy Node trên Windows. Microsoft đã làm việc với Joyent trong suốt nửa cuối năm 2011 để cải thiện khả năng hỗ trợ của nút cho Windows IOCP async IO. Node 0.6 là bản phát hành đầu tiên của nút hỗ trợ Windows .


1
Tôi không nghĩ mình cần node.js (xem bản chỉnh sửa của tôi) .... nhưng đề xuất "biên dịch" của bạn thật thú vị! Chính xác nó sẽ hoạt động như thế nào? Tôi sẽ cung cấp cả coffeescript của mình và trình biên dịch, và trình duyệt sẽ biên dịch nó thành javascript thông thường, rồi chạy nó? Điều đó sẽ rất tuyệt! Nhưng làm thế nào để bạn biến điều đó thành hiện thực? Có ví dụ về cách làm điều này không? Tôi có thể xem javascript đã tạo không? ... và gỡ lỗi bằng FireBug?
Nick Perkins

1
Node.js được khuyến khích. Bạn có thể biên dịch CoffeeScript nội tuyến trong trình duyệt, bằng cách bao gồm trình biên dịch và viết mã của bạn trong thẻ "text / coffeescript". Tất cả đều được đánh giá theo cách đó, vì vậy bạn không thể thấy JS được tạo hoặc gỡ lỗi nó bằng Firebug ... đó là một cách giải thích dài dòng bằng cách biên dịch trước nó với Node.js là cách tốt nhất để phát triển. Để biết chi tiết, hãy xem: jashkenas.github.com/coffee-script/#scripts
jashkenas,

5
Vì vậy, tôi sẽ cần Cygwin để thực sự phát triển trong CoffeeScript? Điều đó không sao, nhưng tôi ước người dùng Windows bắt đầu dễ dàng hơn. CoffeeScript trông thực sự tuyệt, tôi sẽ chuyển tất cả chương trình javascript của mình sang coffeescript nếu có một trình cắm thêm eclipse được biên dịch nhanh chóng như trình biên dịch / thông dịch tương tác "Try CoffeeScript" tuyệt vời trên trang web CoffeeScript. Điều đó sẽ là xấu xa!
Nick Perkins vào

Npm (trình quản lý gói nút) cũng là một cách thuận tiện để cài đặt và cập nhật gói.
jerseyboy

17

Bạn có thể chạy trình biên dịch CoffeeScript trong Window Script Host (cscript.exe), một thành phần tiêu chuẩn trên Windows kể từ Windows 98. Phải thừa nhận rằng tôi đã thử điều này một thời gian và nó không hoạt động, nhưng tôi đã thử lại gần đây và bây giờ tất cả Các bài kiểm tra CoffeeScript tiêu chuẩn biên dịch tốt.

Một chút mã đường ống dẫn nước bằng cách sử dụng *.wsftệp và coffee-script.js là tất cả những gì bạn cần. Mã của tôi có trên GitHub: https://github.com/duncansmart/coffeescript-windows

Tôi đã viết blog về nó ở đây: http://blog.dotsmart.net/2011/06/20/the-simplest-way-to-compile-coffeescript-on-windows/


2
Giải pháp này chỉ đơn giản là hoạt động. Không cần cài đặt thêm nhiều công cụ hoặc thời gian chạy khác. Cảm ơn nhiều!
Eloff

Điều này đã giúp các thành viên sử dụng Windows trong nhóm của tôi bắt đầu và chạy rất nhanh - tuyệt vời!
Tyler MacDonell

10

Bạn có thể sử dụng jcoffeescript như một giải pháp dòng lệnh.

Nó sử dụng công cụ javascript dựa trên Java ( Rhino ) và hoàn thành nhiệm vụ biên dịch coffee-script.js từ dự án CoffeeScript . Điều này cho phép nó chạy trình biên dịch CoffeeScript như một chương trình Java.

Lệnh sử dụng (trên Windows / Linux) có dạng như sau:

java -jar jcoffeescript-1.0.jar < foo.coffee > foo.js

Bạn sẽ cần tải xuống và xây dựng mã nguồn Java (sử dụng IntelliJ Community Edition để tránh tải xuống Ant ) hoặc tải xuống được tạo sẵn cho CoffeeScript v1.0 .

Bây giờ tôi sử dụng jcoffeescript thay cho giải pháp Ruby (một câu trả lời khác ở đây), vì điều này cho phép tôi cập nhật phiên bản CoffeeScript mới nhất .


Dòng lệnh thay thế: java -jar jcoffeescript-0.9.2.jar <foo.coffee> foo.js
Duncan Smart

Nó không sử dụng cùng một công cụ như Firefox. Nó sử dụng Rhino được phát triển bởi nền tảng Mozilla nhưng hoàn toàn không liên quan đến Fixefox.
mikerobi 27/12/10

Cảm ơn, tôi đã khắc phục các tài liệu tham khảo
PandaWood

8

Bạn có thể sử dụng phiên bản dòng lệnh của CoffeeScript bằng cách cài đặt Ruby trên Windows và sau đó cài đặt CoffeeScript Gem .

Sau đó, dòng lệnh có sẵn, ví dụ: 'coffee bla.coffee' - để biên dịch mã CoffeeScript của bạn thành mã JavaScript.

Bất lợi duy nhất khi làm theo cách này (không sử dụng Node.js) là phiên bản Ruby của CoffeeScript bị hạn chế ở phiên bản 0.3.2 - phiên bản cuối cùng được viết bằng Ruby trước khi nó được chuyển sang Node.js.

* Tuy nhiên, tôi vẫn sử dụng phiên bản Ruby của CoffeeScript trong công việc hiện tại và trang web cá nhân của mình và tôi không thấy có nhiều vấn đề vì phiên bản CoffeeScript này đã khá hoàn thiện và hầu hết các tính năng được liệt kê trên trang web CoffeeScript có thể được đã sử dụng.

* rút ra tuyên bố cuối cùng này là đúng vào thời điểm đó nhưng ngày càng trở nên sai hơn sau mỗi vài ngày; CoffeeScript hiện đã phát triển một chặng đường dài kể từ 0.3.2 và đã qua 1.1


Gem hiện đã được đồng bộ hóa với CoffeeSscript (xem readme: github.com/josh/ruby-coffee-script#readme ) tuy nhiên, do đó nó chỉ hoạt động như một cầu nối / giao diện với trình biên dịch thực tế, vì vậy bạn vẫn cần nút. js, v.v. Ngoài ra, gem dường như không được viết với Windows vì nó sử dụng lệnh "which" để xác định công cụ javascript có sẵn và lệnh này không khả dụng (theo mặc định) trên Windows.
atomules

4
Điều đó không đáng để bỏ phiếu, đá quý coffeescript hoạt động trên Windows và tôi đã sử dụng nó khá lâu. Nhận xét của bạn rất thú vị nhưng không vô hiệu hóa câu trả lời. Xin đừng bỏ phiếu xuống câu trả lời chỉ vì họ đã đi ra khỏi ngày kể từ khi họ được viết
PandaWood

1
@PandaWood Tôi chỉ sử dụng phiếu bầu của mình để phản ánh giá trị của các câu trả lời khi tôi nhìn thấy chúng. Tức là các giải pháp tốt nhất cho câu hỏi là jcoffeescript (do bạn trả lời) và mã nhị phân Node.js (do Mikhail Nasyrov trả lời).
Atomules

2
Cũng như một lưu ý, i5m là chính xác; phiếu phản đối được sử dụng để phản ánh giá trị của một câu trả lời và không mang tính trừng phạt. Đó là toàn bộ ý tưởng đằng sau các câu trả lời được bình chọn cao hơn nổi lên trên cùng.
Domenic

Lưu ý rằng CoffeeScript Gem đang được bao gồm trong Rails 3.1, điều này nói lên sự ổn định và hỗ trợ của nó cho tất cả các nền tảng, bao gồm cả Windows.
Trevor Burnham

6

Đã có rất nhiều câu trả lời ở đây, nhưng hãy để tôi thêm câu trả lời của tôi. Tôi đã viết một thư viện .NET để biên dịch CoffeeScript trên Windows.

Như jashkenas đã đề xuất , tôi đã sử dụng extras/coffee-script.jstệp được biên dịch trước .
Cùng với trình biên dịch JavaScript kỷ Jura, tôi đã gói gọn tất cả trong một thư viện duy nhất: CoffeeSharp

Thư viện cũng có công cụ dòng lệnh và HttpHandler để phát triển web ASP.NET.




2

Nếu bạn muốn sử dụng CoffeeScript trong một ứng dụng ASP.NET thì bạn có thể sử dụng trình xử lý HTTP này để cung cấp mã CoffeeScript đã biên dịch.


Như đã đề cập trong các bình luận trên HttpHandler này, của Liam, nó khá là hack, nhưng khá là khéo léo! Nó nên giữ chúng hơn cho đến khi một người nào đó cổng NodeJS để cửa sổ
PandaWood

1

Tôi chưa thử điều này bản thân mình, nhưng nó dường như là một câu trả lời. (Tôi đã tải xuống và cài đặt nhưng chưa sử dụng nó.)

Có một phần bổ trợ cho Visual Studio 2010 bổ sung chỉnh sửa CoffeeScript cho VS (trong số những thứ khác).

Nó được gọi là Web Workbench và được tải xuống dưới dạng vsix. (tức là có thể tải xuống từ bên trong VS UI.)


Tuy nhiên, thật không may là nó làm cho việc chỉnh sửa các tệp hơn 200 dòng một cách điên cuồng, chậm chạp. Tôi đã phải từ bỏ điều này khi tôi thử nó.
Julian Birch

1

Tôi chỉ đưa điều này vào như một câu trả lời cho câu hỏi ngụ ý chung hơn cho các công cụ "Làm cách nào để thử" các công cụ thường không chạy trên Windows hoặc chưa được chuyển. Sử dụng máy ảo chạy hệ điều hành giống UNIX như Linux hoặc BSD.

Với điều kiện bạn có đủ RAM và sẵn sàng học hỏi, điều đó sẽ giúp việc thử phần mềm nguồn mở dễ dàng hơn rất nhiều. Trong trường hợp CoffeeScript, bạn vẫn có thể thực hiện những việc như - xem trên thư mục chia sẻ và hầu hết thời gian ở trong Windows. Bạn cũng sẽ không làm ô nhiễm hệ thống của mình bằng các công cụ và dịch vụ mà bạn dùng thử và không mua, điều này rất hữu ích nếu bạn làm điều đó nhiều.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.