npm 包 @savvy-css/ember-savvy-css 使用教程

阅读时长 7 分钟读完

前言

在前端开发中,对于样式的处理一直是一个非常重要的问题,而 Sass、Less、 Stylus 等样式预处理器相对于传统 CSS,可以更加简单、方便地帮助我们进行样式的维护和复用。但是,这些样式预处理器的使用,需要先前安装相应的编译器,然后才能使用相应的语法进行编码。这在一定程度上,增加了前端开发的门槛。

而近几年,出现了一些新的工具类库,可以帮助开发者更加便捷的处理样式问题。本文介绍的 @savvy-css/ember-savvy-css 就是其中的一种,它是一个针对于 Ember 框架的内联样式处理工具,可以帮助我们不用安装额外的编译器就能够使用 Sass 和类似于 CSS 的语法,快速的进行样式的编写和维护。

本文就为大家介绍该工具的详细用法。

安装

在使用 @savvy-css/ember-savvy-css 之前,我们需要先使用 npm 进行安装,在项目的根目录中执行以下命令:

使用

下面我们就来介绍一下如何使用 @savvy-css/ember-savvy-css 进行样式的编写工作。

配置文件

在使用 @savvy-css/ember-savvy-css 编写样式之前,我们需要先创建一个 savvy.config.js 的配置文件,用于配置该工具的相关设置,例如主题、颜色等。文件的基本内容如下:

-- -------------------- ---- -------
-------------- - -
  -------- -
    ------ ------
    ----------- -------
  --
  ---------- -
    ------ --------
    ----------- ------
  --
  ------ -
    ------ -
      --------- ------
    --
    ------- -
      --------- ------
    -
  -
-

该配置文件以 CommonJS 风格导出一个对象,在该对象中,我们可以指定不同的主题样式、颜色、字体大小等,这些将会被同步到所有样式文件中,方便我们在之后的样式中直接调用。

新建样式文件

我们可以在 Ember 应用的代码目录 app/styles/savvy/ 中新建一个 Sass 文件,如 button.scss,然后在里面书写样式的代码:

-- -------------------- ---- -------
------------- -
  ------- --- ----- -----
  ---------- ----------------------
  ----------------- -------------------
  
  ------- -
    ----------------- -------------------------- -----
  -
-

在这里,我们可以看到,相对于传统的 Sass 语法,这里使用了一些类似于 CSS 的结构和变量。primary.background 取的就是在 savvy.config.js 中定义的主题颜色值,sizes.medium.fontSize 则是样式大小的变量,其中的 medium 也是在配置文件中定义的。

此外,还可以书写类似下面的代码:

-- -------------------- ---- -------
-- ---- -------------------------------
--------------- -----

-- -- ----------------------------
------- ------------

------------- -
  -------------- ---------------
-

这与传统的 Sass 编写方式无异,不过在 @savvy-css/ember-savvy-css 中变量的作用域限制仅仅在这个文件中。

使用组件

当样式文件编写完成之后,我们可以直接在组件中引用该样式文件,在组件文件 app/components/button.js 中添加:

在组件模板文件中,我们可以直接使用该样式:

需要注意的是,由于样式文件在组件中的作用域仅限于当前组件,所以,我们需要在上面的代码中添加前缀 .savvy-button,否则,样式将不会被正确渲染。

示例代码

下面是一个完整的示例项目:

-- -------------------- ---- -------
-- ------ ------
------ ----------- ---- ---------------------
------ -------- ---- -------------
------ ---------------- ---- --------------------------
------ ------ ---- -----------------------

------ ------ ---- -----------------------------

----- --- - --------------------
  ------------- --------------------
  ---------------- -----------------------
  ---------
  --------- ------------------------

  ------- -
    ----------------- -- -- -----------
  -
---

--------------------- ---------------------

------ ------- ----

-- ---- -----------------------------
------ --------- ---- ---------------------

------ ------- ----- ------------------- ------- --------- -
  --- ---------- -
    ------ ------------------- - ----------------------- - --------------------------
  -
-

-- -------- ----------------------------------------
------- --------------------------------

-- ---- ----------------------------
------------- -
  ------- --- ----- -----
  ---------- ----------------------
  ----------------- -------------------
  
  ------- -
    ----------------- -------------------------- -----
  -
-

-- ------ -------------------------------
--------------- -----

-- -------- -------------------------------------
------------- -
  ---------- ---------------------
-

-- ------ ---------------
-------------- - -
  -------- -
    ------ ------
    ----------- -------
  --
  ---------- -
    ------ --------
    ----------- ------
  --
  ------ -
    ------ -
      --------- ------
    --
    ------- -
      --------- ------
    -
  -
-

本文的示例项目已托管在 GitHub 上,地址为:https://github.com/huatx/ember-savvy-css-sample。

结尾

@Savvy-CSS/ember-savvy-css 是一个常见的专门针对于 Ember 框架的内联样式工具,能够帮助我们更加快捷方便的处理样式问题,本文也为大家介绍了一些该工具的使用方法,希望这对于广大前端开发者有所帮助。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600571d281e8991b448e83ba

纠错
反馈