Tôi đang tìm cách triển khai SASS trong Java (có thể được sử dụng với JSP / JSF). Đối với Python, tôi đã tìm thấy CleverCSS, nhưng không có gì cho Java. Có ai nghe nói gì về loại công cụ tạo CSS này không?
Tôi đang tìm cách triển khai SASS trong Java (có thể được sử dụng với JSP / JSF). Đối với Python, tôi đã tìm thấy CleverCSS, nhưng không có gì cho Java. Có ai nghe nói gì về loại công cụ tạo CSS này không?
Câu trả lời:
Với ANT:
<path id="JRuby">
<fileset file="libs/jruby-complete-[VERSION].jar"/> <!-- Location of JRuby jar file -->
</path>
<target name="compileSCSS">
<echo message="Compiling scss files..." />
<property name="filesIn" value="${dir.css}/scss/**/[^_]*.scss" />
<property name="fileOutDir" value="/${dir.css}/${dir.css.build}" />
<script language="ruby" classpathref="JRuby">
<![CDATA[
require 'libs/sass-[VERSION]/lib/sass'
require 'sass/exec'
files = Dir.glob($project.getProperty('filesIn'))
Dir.mkdir($project.getProperty('fileOutDir')) unless File.exists?($project.getProperty('fileOutDir'))
files.each do
| file |
puts " [sass compiler] " + file + " -> " + $project.getProperty('fileOutDir') + "/" + File.basename(file, ".*") + ".css"
opts = Sass::Exec::Sass.new(["--load-path", File.dirname(file), file, File.join($project.getProperty('fileOutDir'), File.basename(file, ".*") + ".css")])
opts.parse
end
]]>
</script>
<echo message="Done compiling scss files!" />
</target>
Với MAVEN:
Maven cũng có thể làm điều này: Sử dụng plugin antrun:
<project>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<id>compileAndMinify</id>
<phase>compile</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<mkdir dir="${project.build.directory}/compiled" />
<echo message="Compiling scss files..."/>
<path id="JRuby">
<fileset file="${basedir}/jars/jruby-complete-[VERSION].jar"/>
</path>
<property name="filesIn" value="${project.build.directory}/css/**/[^_]*.scss" />
<property name="fileOutDir" value="${project.build.directory}/compiled/css" />
<script language="ruby" classpathref="JRuby">
<![CDATA[
require 'libs/sass-[VERSION]/lib/sass'
require 'sass/exec'
files = Dir.glob($project.getProperty('filesIn'))
Dir.mkdir($project.getProperty('fileOutDir')) unless File.exists?($project.getProperty('fileOutDir'))
files.each do
| file |
puts " [sass compiler] " + file + " -> " + $project.getProperty('fileOutDir') + "/" + File.basename(file, ".*") + ".css"
opts = Sass::Exec::Sass.new(["--load-path", File.dirname(file), file, File.join($project.getProperty('fileOutDir'), File.basename(file, ".*") + ".css")])
opts.parse
end
]]>
</script>
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
require 'libs/sass-[VERSION]/lib/sass'
nó không hoạt động như tương đối đối với tôi, tôi phải đặt cái tuyệt đối từ tài sản mà tôi có trong tay. Vì vậy, nó đã hoạt động vớirequire $project.getProperty('project.root') + '/sass/sass-3.2.9/lib/sass'
ZUSS là một sự thay thế tốt cho LESS và SASS. Nó tương tự như LESS. Không giống như LESS và SASS, việc xử lý các tệp ZUSS không yêu cầu trình thông dịch JavaScript.
Tuyên bố từ chối trách nhiệm: Tôi là nhà phát triển của ZUSS. Tôi đã phát triển nó đơn giản vì tôi không thể tìm thấy một giải pháp gọn gàng cho Java.
Có một dự án: http://code.google.com/p/jsass/ (nhưng nó đang ở giai đoạn rất sớm).
Nếu bạn quan tâm đến Less, có một phiên bản Java sẵn sàng sử dụng cho nó: http://www.asual.com/lesscss/
Bạn cũng có thể xem qua Trình tối ưu hóa tài nguyên web 4 J (WRO4J) cho phép thực hiện rất nhiều thứ (thu nhỏ, hợp nhất tài nguyên) và hỗ trợ Ít CSS hơn (theo tôi biết).
Điều này có nghĩa là: bạn thêm bộ lọc wro4j vào web.xml của mình và khi bạn yêu cầu CSS, các tệp .scss (hoặc .saas) của bạn sẽ được biên dịch thành CSS chuẩn.
Tôi chưa sử dụng nó, nhưng nó có vẻ cao cấp hơn các sản phẩm khác được liệt kê ở đây.
Trên thực tế, tôi đang đọc các bình luận trên trang web Less for Java ( http://www.asual.com/lesscss/ ) và WRO4J sử dụng thư viện này để cung cấp cho nó "sự biên dịch nhanh hơn". Vì vậy, tôi nghĩ Ít hơn cho Java là cách để đi.
Bạn có biết rằng khung công tác web Vaadin đi kèm với trình biên dịch Sass tích hợp riêng của nó không? Xem https: //vaadin.com/blog/-/blogs/state-of-sass-support-in-vaadin-7-today ...
Cá nhân tôi thấy cú pháp SASS sâu sắc, khó chịu kinh khủng. Đối với đám đông Ruby / Python, nó có thể là bản chất thứ hai; đối với tôi là một chàng trai Java - không quá nhiều. Tôi mạnh mẽ thích LESS mà xây dựng dựa trên cú pháp CSS thay vì đến với một hình mới. Điều đó có một lợi thế bổ sung tuyệt vời là có thể sử dụng các tệp CSS hiện có của bạn "nguyên trạng" và kết hợp các tính năng LESS nếu cần.
Điều đó nói rằng, cả SASS và LESS đều không có cổng java theo như tôi biết. Tuy nhiên, cả hai đều dựa trên ruby, vì vậy bạn có thể cài đặt chúng theo JRuby . Vấn đề duy nhất với cách tiếp cận đó là JRuby là đầu óc khởi động rất chậm. Tuy nhiên, nó không phải là một vấn đề lớn vì bạn có thể sẽ sử dụng tính năng giám sát tệp trong quá trình phát triển (và khi nó khởi động, nó sẽ chạy rất mượt mà) và bạn sẽ không quan tâm nhiều đến việc bản dựng của bạn mất vài giây trong quá trình triển khai .
Ngoài ra còn có một số triển khai dựa trên PHP như LessPhp , xCSS và các ứng dụng khác. Tuy nhiên, chưa thử chúng một cách cá nhân.
Có vẻ như cuối cùng thì vẫn có một (được phát triển có lẽ một thời gian sau khi câu hỏi này được hỏi)
<dependency><groupId>org.jruby</groupId><artifactId>jruby-complete</artifactId><version>1.6.7.1</version></dependency>
Tôi thích thứ gì đó không có bất kỳ sự phụ thuộc nào.
Cho rằng SASS phải được chuyển đổi thành CSS để có thể sử dụng được, có gì sai khi sử dụng sass2css phân phối với Ruby SASS?
Bạn có thể thử bộ lọc mà tôi vừa tổng hợp này - https://github.com/darrinholst/sass-java
Tôi đang sử dụng La bàn & Sass trong dự án nhật thực của mình bằng Ant.
Tôi đã làm theo hướng dẫn này ở đây:
http://caueguerra.com/tutorial-using-sass-in-a-java-project
La bàn mở rộng Sass và cho phép các tính năng bổ sung khác của tôi.
Tôi biết mình đến muộn với bữa tiệc, nhưng đây là cách tôi sử dụng SASS trong một dự án Java với bản dựng Ant: http://workingonthecoolstuff.blogspot.com/2011/02/using-sass-in-ant -build.html Tóm lại, tôi đang thực hiện xây dựng trên một máy có cài đặt Ruby và Sass nên việc gọi lệnh / ứng dụng sass dễ dàng bằng tác vụ Ant "apply" với một tập tin bao gồm tất cả SCSS / SASS các tập tin.
Sassc là một triển khai dòng lệnh trong C, sẽ dễ dàng thêm vào quá trình xây dựng. Dựa trên các tác giả, tôi muốn nói rằng nó sẽ được cập nhật với sass:
Sass ban đầu được tạo ra bởi người đồng sáng tạo của thư viện này, Hampton Catlin (@hcatlin). Việc mở rộng và tiếp tục phát triển của ngôn ngữ đều là kết quả của nhiều năm làm việc của Nathan Weizenbaum (@ nex3) và Chris Eppstein (@chriseppstein).