sass是一个美丽的工具 - 在建造网络时,您的生活变得更加轻松。这就是为什么我也想在我正在从事的Javafx项目中使用它。
如果您不熟悉它:SASS是CSS的Prepropersor,可以看作是CSS的超集。它提供功能等功能(称为混合),变量和其他有用的功能。 SASS文件可以以
.sass
(旧的,弃用的方式)或.scss
(现代首选方法)结束。但是,在能够在项目中使用文件之前,需要将它们编译为普通CSS。 This video提供了快速简便的介绍。
编译到CSS的方法
SASS编译器最初是用Ruby编写的,但是,有一个用Dart编写的现代版本。您如何编译到CSS并不重要 - 唯一重要的是,CSS文件包含在您的应用程序构建中。
使用Maven Build-Plugin
第一种方法是配置Maven(或您正在使用的任何构建工具),以便在编译整个Java程序时将文件编译为CSS。有多个图书馆,最好的库(至少从我的角度来看)是this one。还有其他项目,尝试做同样的事情,如本blog post中所述。
但是,这种方法存在问题:为了使场景构建器正常工作,实际上需要在运行时编译CSS。这意味着,一旦我们对文件进行更改,就必须即时发生。
在Intellij的帮助下编译
我们可以让我们的IDE为我们做这项工作:首先,我们需要使用Choco,Homebrew或NPM将SASS编译器安装到本地机器上:
# Homebrew
brew install sass/sass/sass
# NPM
sudo npm install -g sass
# Chocolatey
choco install sass
接下来,让启动Intellij并从设置窗格安装这两个插件:
- sass(正常与IDE捆绑)
- File Watchers
之后,转到首选项
工具``文件观察者,单击+icon'',然后选择“ scss”。您面对的对话框看起来像这样:
单击“好的”:现在,每次我们进行更改时,它们都会自动编译为标准CSS。
现在剩下要做的就是配置我们的项目,因此选择了右文件。您的结构应该看起来像这样:
src/
├─ main/
│ ├─ java/
│ │ ├─ com.company.example/
│ │ │ ├─ HelloApplication.java
│ │ │ ├─ HelloController.java
│ ├─ resources/
│ │ ├─ com.company.example/
│ │ │ ├─ META-INF/
│ │ │ │ ├─ MANIFEST.MF
│ │ │ ├─ sass/
│ │ │ │ ├─ _colors.scss
│ │ │ │ ├─ style.scss
│ │ │ ├─ hello-view.fxml
style.css
将自动生成style.scss
内部(这意味着style.scss
将成为一个文件夹):
style.scss/
├─ style.css
├─ style.css.map
最后要做的是引用.fxml
的CSS文件。为此,转到顶级元素(例如边框窗格),然后将stylesheets="@sass/style.css"
附加到它。
那就是这样!您现在可以使用Sass使Javafxs CSS减轻了痛苦。