npm 包 rollup-plugin-stylus-js-modules 使用教程

阅读时长 4 分钟读完

在前端开发中,我们经常需要使用诸如 Sass、Less 和 Stylus 等 CSS 预处理器来提高样式开发效率。而在使用 rollup 进行构建时,我们可以通过 rollup-plugin-stylus-js-modules 包来将 Stylus 源代码进行打包,并生成对应的 JS 模块,方便后续的引用。本文将介绍如何使用这个 npm 包。

安装 rollup-plugin-stylus-js-modules

首先,我们需要将 rollup-plugin-stylus-js-modules 包安装到我们的项目中:

使用 rollup-plugin-stylus-js-modules

下面是一个简单的 rollup 配置示例,展示了如何使用 rollup-plugin-stylus-js-modules:

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

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

在上面的示例中,我们指定了入口模块为 src/index.js,并在 plugins 中使用了 rollup-plugin-stylus-js-modules 插件。这个插件有两个配置项:

  • include:必填项,包含输入的 Stylus 文件路径的对象。可以使用通配符。
  • prefix:可选项,生成的 CSS 类名前缀。默认值为 'styles-'

示例代码

以下是一个带有 Stylus 样式的示例组件,并演示了如何在组件中引用生成的 CSS JS 模块:

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

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

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

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

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

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

在上面的示例中,我们首先引入了使用 rollup-plugin-stylus-js-modules 打包后生成的 Button.styl.js 模块。然后,在组件的计算属性中,我们可以直接使用 styles['button'] 来引用生成的样式名。

最后,我们使用了 style 标签,并指定 module 属性来允许使用 CSS modules。在样式中,我们可以看到我们使用了一个 :hover 伪类和一个 :active 伪类来实现按钮样式的变化。

小结

本文介绍了如何使用 rollup-plugin-stylus-js-modules 包来打包 Stylus 样式,并生成对应的 JS 模块。同时,我们还演示了如何在组件中引用生成的 CSS JS 模块,以及如何使用 style 标签和 module 属性来开启 CSS modules 功能。

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

纠错
反馈