npm 包 node-sass-wittibs 使用教程

阅读时长 7 分钟读完

简介

node-sass-wittibs 是基于 node-sass 的一个 sass 编译器,它增加了更多的特性,例如:

  • 支持函数
  • 支持 if/else 语句
  • 支持 for 循环
  • 支持 @extend
  • 支持变量在字符串里的嵌套

安装

首先需要安装 node-sass:

然后再安装 node-sass-wittibs:

使用

node-sass-wittibs 的使用方式和 node-sass 大致相同,只需要添加一个 outputStyle 属性即可。

下面是一个使用示例:

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

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

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

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

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

编译代码:

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

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

生成结果:

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

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

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

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

可以看到,编译器成功将 Sass 编译成了对应的 CSS。

深度学习

除了上述示例中使用到的语法之外,node-sass-wittibs 还有一些其他的语法特性,下面列出一些比较常用的例子。

支持函数

node-sass-wittibs 支持函数的定义和使用,以下是一个简单的例子:

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

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

编译后:

支持 if/else 语句

node-sass-wittibs 支持 if/else 条件判断语句,示例如下:

编译后:

支持 for 循环

node-sass-wittibs 还支持 for 循环语句,示例如下:

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

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

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

编译后:

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

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

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

---

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

支持 @extend

node-sass-wittibs 支持 @extend 继承语句,示例如下:

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

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

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

编译后:

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

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

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

支持变量在字符串里的嵌套

node-sass-wittibs 支持在字符串里使用变量嵌套,示例如下:

编译后:

安利一下

node-sass-wittibs 是我在学习 Sass 过程中发现的一个比较优秀的库,个人认为,它的特点在于更接近于编程语言的一种 Sass 变体。它允许我们使用 Sass 更加灵活,也许可以在某些大型项目上更加有效地管理和维护样式代码。

小结

在本文中,我们介绍了在使用 node-sass 时,如何结合 node-sass-wittibs 来提供更强大的 Sass 编译能力。我们学习了一些不同于普通 Sass 的语法特性,例如函数、if/else 语句、for 循环语句、@extend 继承语句,以及允许在字符串里使用变量嵌套等等。这些语法特性帮助我们更加灵活、高效地管理和维护样式代码。

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

纠错
反馈