Cách biên dịch tệp less / sass trong Visual Studio 2017


85

Trong VS <= 2015, chúng tôi có thể sử dụng tiện ích mở rộng WebEssentials để biên dịch các tệp less / sass cho chúng tôi, nhưng hiện tại nó không hỗ trợ VS 2017. Bạn có biết về tiện ích mở rộng tương tự có thể biên dịch less / sass trên bản dựng không?

Câu trả lời:


104

WebEssentials đang được chia thành nhiều phần mở rộng. Tôi tin rằng chức năng bạn muốn hiện có trong phần mở rộng Trình biên dịch Web .

Nếu bạn muốn làm điều đó mà không có phần mở rộng, bạn có thể sử dụng một trình chạy tác vụ như Gulp. Xem tại đây để biết hướng dẫn về cách tích hợp các tác vụ Gulp vào VS.


Tôi đang sử dụng Trình biên dịch web làm tiện ích mở rộng trong VS 2019 để giúp biên dịch một số tệp .less rất cũ và nó vẫn hoạt động tốt.
klewis

1
LƯU Ý: Trình biên dịch Web đã bị bỏ, lần cập nhật cuối cùng là 5 năm trước. Có một số vấn đề chưa được khắc phục, nhưng kinda hoạt động.
Alex

Trình biên dịch web đã làm việc cho tôi trong VS 2019, nhưng nó sẽ không tự động biên dịch lại. Trừ khi xuất hiện. Bạn phải chạy biên dịch một lần theo cách thủ công (xem câu trả lời này ) để tệp compilerconfig.json được tạo. Sau đó, nó sẽ tự động biên dịch lại các tệp .less.
neizan

49

CẬP NHẬT - VUI LÒNG ĐỌC XUỐNG TRANG NÀY, NHƯ TÔI ĐÃ THÊM MỘT CÂU TRẢ LỜI BỔ SUNG (ĐIỀU NÀY KHÔNG CÒN CÓ THỂ LÀM VIỆC CHO TÔI).

Đối với những người, như tôi, những người không biết Gulp hoặc Grunt hoặc Shriek hoặc Wail, và không muốn, bạn CÓ THỂ tải Visual Studio 2017 để biên dịch các tệp SCSS của bạn một cách tự động, giống như cách sử dụng trong Visual Studio 2015. các bước dưới đây phù hợp với tôi.

Trước tiên, hãy gỡ cài đặt mọi tiện ích mở rộng / gói Nuget cũ cho Trình biên dịch Web (Tôi không biết điều này có cần thiết hay không).

Đi tới trang tải xuống bộ sưu tập VSIX và chọn tải xuống Trình biên dịch web.

nhập mô tả hình ảnh ở đây

Lưu ý rằng tôi đã thực hiện việc này trước tiên bằng cách chọn Công cụ / Tiện ích mở rộng và Cập nhật trong Visual Studio. Mặc dù điều này có vẻ hiệu quả, nhưng tôi phát hiện ra rằng các tệp SCSS một phần của tôi không được tự động biên dịch sang CSS khi tôi thực hiện các thay đổi đối với chúng (tôi không phải là người duy nhất ).

Bây giờ bạn có thể nhấp chuột phải vào tệp SCSS chính của mình và chọn các tùy chọn được hiển thị bên dưới, các tùy chọn này sẽ tự động tạo tệp có tên compilerconfig.json trong thư mục gốc của dự án của bạn (bước này có thể không cần thiết nếu bạn đã có tệp này) :

nhập mô tả hình ảnh ở đây

Kể từ thời điểm này, mọi thứ dường như hoạt động tốt. Phù! Nhân tiện, xin cảm ơn Mads Kristensen về tiện ích mở rộng này - bất cứ điều gì để tránh học một điều gì đó mới ...


6
Tôi không hiểu nhận xét này! Không chắc câu trả lời được chấp nhận là gì, nhưng không câu nào trong số đó giống với câu tôi đã đưa ra.
Andy Brown,

1
Câu trả lời được chấp nhận là câu trả lời có dấu tích màu xanh lá cây trên đó. Hiện tại, nó có nhiều phiếu tán thành nhất và nó đề xuất sử dụng cùng một phần mở rộng Web Compiler. Dù sao tôi thích câu trả lời của bạn vì những bức ảnh.
Mihail Shishkov

1
Cảm ơn. Câu trả lời của tôi đưa ra giải pháp mà không cần sử dụng Gulp / Grunt, đồng thời cung cấp thêm chi tiết mà mọi người sẽ cần. Tôi đã xem câu trả lời được đánh dấu (trong số những câu trả lời khác), nhưng nó không giải quyết được vấn đề của tôi nếu không có thêm thông tin ở trên - do đó, tại sao tôi lại cố gắng đăng, chỉ để tránh những người khác lãng phí thời gian như tôi đã cố gắng giải quyết vấn đề này .
Andy Brown

1
hãy thử đọc câu trả lời được chấp nhận, nó được nói điều tương tự, nhưng cũng cho thấy làm thế nào để sử dụng Gulp
Keith Nicholas

OK, tôi thấy bây giờ câu trả lời được chấp nhận cũng nói điều tương tự - vì vậy tôi chỉ bổ sung thêm chi tiết. Hy vọng rằng những độc giả lười biếng như tôi có thể thấy điều này hữu ích!
Andy Brown


5

Câu trả lời trước đây của tôi có tác dụng với tôi trong một vài tháng, nhưng bây giờ không còn hiệu quả nữa. Khi tôi thử biên dịch, tôi nhận được thông báo trong cửa sổ Lỗi về các sự cố với lược đồ CompilerConfig và không thể giải quyết vấn đề này (Google cũng không cài đặt / gỡ cài đặt được).

Vì vậy, một câu trả lời thay thế là sử dụng CompileSASS , là một phần bổ trợ đơn giản hơn nhiều, với (nhiều) ít tài liệu trực tuyến hơn, nhưng hoạt động rất đẹp. Nhược điểm duy nhất tôi có thể thấy là:

  • CSS được tạo nằm trong cùng thư mục với SCSS, vì vậy tôi đã phải di chuyển mọi thứ xung quanh một chút trong trang web của mình để phù hợp với điều này; và
  • CSS được tạo ra chỉ được rút gọn, theo như tôi thấy

Sau khi bạn đã cài đặt bổ trợ (tôi đang sử dụng VS 2017), bạn có thể đi tới Công cụ> Tùy chọn để thay đổi cài đặt:

nhập mô tả hình ảnh ở đây

Đây là hy vọng bây giờ tôi có thể tiếp tục công việc! Nhân tiện, cảm ơn tất cả các tác giả bổ trợ - không có nghĩa là thay đổi.


1
Điều tốt là tôi đã cuộn tất cả các cách lần này. Tôi chỉ muốn làm theo thịnh hành của bạn. câu trả lời. Có lẽ bạn nên cập nhật nó bằng một ghi chú, nếu bạn nghĩ rằng câu trả lời không hoạt động nữa. :)
radbyx

Làm việc như người ở. Cảm ơn rất nhiều.
radbyx 17/07/18

1
Nếu bạn đã có Trình biên dịch web và gặp phải các lỗi tương tự được mô tả trong bài đăng này, hãy xem các bài đăng của tôi tại đây: stackoverflow.com/a/55290276/3609362 github.com/madskristensen/WebCompiler/issues/…
Matt G

Tôi vừa tải xuống Trình biên dịch Web cho Visual Studio 2019 và cho đến nay nó đang hoạt động hoàn hảo. Có bất kỳ vấn đề cụ thể nào đối với Visual Studio 2017 không?
Andy Brown

2

Bây giờ cũng có một trình biên dịch ít cụ thể hơn. https://github.com/madskristensen/LessCompiler


Tôi đã tải xuống và cài đặt tiện ích mở rộng. Sau đó, tôi mở tệp Site.less của mình và tôi có thể thấy hình mờ ở đâu để chạy trên trình biên dịch. Sau đó, tôi đã xây dựng trang web của mình cũng như mở nó ở chế độ gỡ lỗi. Khi tôi mở Site.css của mình, trong Site.less, nó có watermak được tạo trên đó. Sau đó, tôi cố gắng thực hiện tìm kiếm một thuộc tính mới được thêm vào nhưng nó không có ở đó và tôi không nhận được CSS của mình. Bất kỳ ý tưởng nào về cách tôi có thể lấy nó để xây dựng LESS của mình?
Caverman
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.