Helpex - Trao đổi & giúp đỡ Đăng nhập
104

Có cách nào để sử dụng Sass hoặc Compass hoặc bất cứ thứ gì tương tự mà không có Ruby không?

Tôi đã tìm kiếm khắp google và trang web này và không thể tìm thấy bất cứ điều gì, bất kỳ sự trợ giúp nào sẽ được đánh giá cao. Cảm ơn bạn

104 hữu ích 4 bình luận 49k xem chia sẻ
53

Sass ban đầu được viết cho Ruby, nhưng bây giờ họ đã tạo libSass , một C/C++cổng của công cụ Sass, giúp tích hợp công cụ này vào IDE hoặc một ngôn ngữ khác dễ dàng hơn. Tại thời điểm này, bạn có thể sử dụng công cụ Sass trong Ruby, Node.js , Python , PHP , Java , .NET và các công cụ khác. Để biết thêm thông tin, hãy truy cập libSass . Ngoài ra, IDE của bạn có thể có một plugin hỗ trợ Sass mà không cần ruby ​​bằng cách sử dụng libSass.

Câu trả lời ban đầu bên dưới có thể áp dụng cho trường hợp của bạn (tùy thuộc vào việc ngôn ngữ của bạn có triển khai hỗ trợ cho libSass hay không). Tôi quyết định để nó như vậy vì lý do lưu trữ.


Sass (yêu cầu Ruby)

Sass được viết bằng Ruby, vì vậy bạn cũng cần cài đặt Ruby. Lấy từ trang của sass

La bàn (yêu cầu Ruby, vì nó dựa trên SASS)

La bàn là một khung soạn thảo CSS mã nguồn mở sử dụng ngôn ngữ biểu định kiểu Sass để giúp việc viết biểu định kiểu trở nên mạnh mẽ và dễ dàng. Lấy từ trang của la bàn

Ít hơn (được viết bằng js, yêu cầu có node.js hoặc ít hơn.js trong trang)

LESS mở rộng CSS với các hành vi động như biến, mixin, hoạt động và hàm. LESS chạy trên cả phía máy khách (Chrome, Safari, Firefox) và phía máy chủ, với Node.js và Rhino. Lấy từ trang của Less

Đây là những bộ vi xử lý chính mà tôi biết. Bạn có thể viết trình phân tích cú pháp / cổng của riêng mình cho bất kỳ ngôn ngữ nào khác mà bạn lựa chọn.

Nói cách khác, không, bạn không thể sử dụng sass / compa mà không có Ruby vì bản thân chương trình (sass & compa) được viết bằng Ruby. Vì vậy, bạn chắc chắn sẽ cần nó để chạy nó.

53 hữu ích 3 bình luận chia sẻ
28

Trên thực tế, có một thư viện cung cấp ràng buộc cho Node.js với libsass, phiên bản C của Sass: https://npmjs.org/package/node-sass

Nó cho phép bạn biên dịch các tệp .scss sang css với tốc độ đáng kinh ngạc mà không cần cài đặt Ruby.

Để cài đặt chỉ cần chạy:

npm install node-sass

Và cũng có một phần mở rộng Grunt nếu cần: https://github.com/sindresorhus/grunt-sass (đây là những gì tôi đang tìm kiếm trong câu hỏi này)

Tìm hiểu thêm tại: https://github.com/andrew/node-sass

28 hữu ích 1 bình luận chia sẻ
27

Đúng là câu hỏi không đủ rõ ràng, nhưng tôi sẽ cố gắng giải quyết một số vấn đề. Có CSS pre-vi xử lý khác mà không dựa trên Ruby (hai đến tâm trí của tôi ngay bây giờ là ít , mà tôi đã sử dụng và thích, nhưng không phải là mạnh mẽ như Sass, và Stylus , mà tôi đã không được sử dụng, cả hai đều dựa trên JavaScript), nhưng khi bạn đang hỏi cụ thể về Sass + Compass và vì tôi vẫn đang tìm kiếm câu trả lời tương tự, tôi sẽ nói về điều đó.

@JamundFerguson cho biết:

Có cách nào để biên dịch Sass mà không cần Ruby không? Phụ thuộc.

Sass là một ngôn ngữ xử lý trước. Có một trình biên dịch được xây dựng trong Ruby cho nó và bất kỳ ai cũng có thể viết trình biên dịch bằng bất kỳ ngôn ngữ nào. Có một triển khai C của trình biên dịch Sass được gọi là libsass , có thể được sử dụng trên bất kỳ ngôn ngữ nào cho phép nhập C libs. Đó là thư viện được sử dụng bởi node-sass , là một trình biên dịch được xây dựng trong Node.js , tôi chưa thử và không biết nó có thể hoạt động như thế nào và liệu nó có sẵn sàng để sử dụng trong sản xuất hay không. Nó có thể là một vấn đề thời gian cho Compass để được chuyển (có thể bạn kết thúc làm điều đó?) Và vì vậy chúng tôi có thể có một trình biên dịch mà không phụ thuộc vào đá quý Ruby (hiện tại, có một nút-la bàn module không dựa vào viên ngọc Ruby).

Những ngôn ngữ khác

Cho đến nay, tôi đã đề cập đến khả năng cho một trình biên dịch Node.js, như bạn có thể biết, đó là một môi trường JavaScript, là ngôn ngữ của web và ngôn ngữ tôi lựa chọn. Nhưng bạn không chỉ định ngôn ngữ bạn muốn trình biên dịch được viết sang. Tôi nghĩ rằng có thể có trình biên dịch được xây dựng bằng nhiều ngôn ngữ, ví dụ: @EricMeyer đã đề cập đến trình biên dịch Python . Có lẽ anh ấy đang sử dụng pyScss ? Điều đó dường như đã được tích hợp hỗ trợ cho La bàn. Nhưng sau đó bạn cần một môi trường Python. Vì vậy, vấn đề là: bạn sẽ cần một số môi trường cho trình biên dịch trừ khi bạn chạy các tệp nhị phân được biên dịch tự nhiên. (Ít hơn có less.js có thể được đưa vào trang để chạy phía máy khách và tránh bước biên dịch, nhưng nó không có nghĩa là để sử dụng nó trong sản xuất.)

Ứng dụng gốc

Tôi đã làm việc một năm với CodeKit, hoạt động rất tốt, biên dịch Sass / Compass, Less, Stylus và các ngôn ngữ mẫu như Haml, Slim, Jade, v.v. Xây dựng lại nội dung của bạn khi chúng tự động thay đổi và bạn thấy thay đổi trên trình duyệt của mình ngay lập tức. Điều duy nhất mà tôi không thích là khi chuyển sang một máy tính khác, cài đặt CodeKit, kiểm tra dự án và cố gắng sử dụng nó, tôi phải định cấu hình lại cài đặt dự án, điều này tôi phải nhớ để có thể xây dựng giống như một trong những tôi đã thực hiện trong máy tính khác. Ngoài ra, tôi đã bắt đầu làm việc với một nhóm và họ cũng phải định cấu hình dự án với các cài đặt giống nhau (đôi khi không có cùng cấu hình dự án dẫn đến sự mâu thuẫn xấu xí) và các thành viên của nhóm sử dụng Ubuntu cũng không thể sử dụng nó. Cái đó'ngay lập tức, và yêu nó. Như @Dave đã đề cập, có Scout và cũng có LiveReload , nhưng chưa sử dụng chúng.

Phần kết luận

Kết luận là tôi không có một kết luận chắc chắn. Tôi vẫn đang tìm kiếm câu trả lời tương tự, nhưng tôi hy vọng câu trả lời này làm sáng tỏ một chút về tình trạng biên dịch Sass / Compass bên ngoài môi trường Ruby.

27 hữu ích 1 bình luận chia sẻ
11

Chỉ cần cập nhật một chút về điều này, bạn có thể sử dụng các tệp SCSS / SASS và tạo các tệp chính xác ngay lập tức mà không cần cài đặt Ruby bằng cách sử dụng một chương trình có tên là Scout.

Scout có môi trường ruby ​​riêng và được mã hóa bằng java, vì vậy hãy đảm bảo rằng bạn đã cập nhật java trước khi sử dụng. Liên kết ở đây.

Trân trọng :)

11 hữu ích 3 bình luận chia sẻ
4

Bạn thực sự có thể phân tích cú pháp sass mà không cần ruby, bạn có thể sử dụng node-sass. chi tiết tại đây: https://github.com/andrew/node-sass

4 hữu ích 0 bình luận chia sẻ
2

Nếu đây là cho .NET, bây giờ có một trình bao bọc cho libsass . Có sẵn từ Nuget .

2 hữu ích 0 bình luận chia sẻ
2

Adobe Brackets (miễn phí, mã nguồn mở) có thể biên dịch LESS, SASS và Stylus khi tệp được thay đổi và cập nhật kiểu trong khi xem trước trực tiếp, bạn chỉ cần cài đặt các tiện ích mở rộng cần thiết từ trình quản lý tiện ích mở rộng. Nhận Brackets và tận hưởng!

Chỉnh sửa: Như các câu hỏi khác gợi ý rằng node-sass cũng là một lựa chọn tốt nếu bạn đã cài đặt nodejs.

2 hữu ích 0 bình luận chia sẻ
loading
Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ css sass compass-sass , hoặc hỏi câu hỏi của bạn.

Có thể bạn quan tâm

loading