npm 包 @absolunet/nwayo-toolbox 使用教程

AI 编程助手,豆包旗下的编程助手,提供智能补全、智能预测、智能问答等能力,节省开发时间,释放脑海中的创造力,支持 VSCode,点击体验 AI

简介

@absolunet/nwayo-toolbox 是一个基于 nwayo、webpack 和 postcss 的前端工具包,主要用于构建样式文件(CSS、SASS、LESS),并支持自动生成雪碧图和适配移动端等功能。

安装

使用 npm 安装:

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

使用

配置文件

使用 @absolunet/nwayo-toolbox 需要提供一个配置文件,其中包含 nwayo 和 webpack 的配置项。

在项目根目录下,新建一个 nwayo.config.js 文件,并添加以下代码:

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

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

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

在这个文件中,我们使用 nwayo 函数来构造一个 nwayo 的配置对象,并将其导出。

nwayo 接受一个配置对象作为参数,其中包含以下选项:

  • manifest:控制是否生成 manifest 文件和生成的文件路径。可以为一个对象,包含以下选项:
    • output:包含生成文件的输出路径。默认为 manifest.json
    • prefix:用于在生成的 CSS 中添加 URL 前缀。默认为 ''
  • webpack:可以用于修改 webpack 配置的函数。可以接受两个参数,第一个是原始的 webpack 配置对象,第二个是 nwayo 配置对象。

打包命令

安装好 @absolunet/nwayo-toolbox 并创建好配置文件后,我们可以使用 npm 命令来进行文件打包:

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

这个命令将读取我们之前创建的 nwayo.config.js,并使用其中的 nwayo 和 webpack 配置来进行打包。

自动生成雪碧图

在 nwayo 中可以使用 sprite 函数来自动生成雪碧图。

首先,我们要先安装 @absolunet/nwayo-sprite

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

然后在 nwayo.config.js 中新增以下代码:

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

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

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

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

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

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

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

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

  -- ---
---

在这个配置中,我们使用 sprite 函数来设置自动生成雪碧图的选项。

这个函数接受一个对象作为参数,其中包含以下选项:

  • dest:指定雪碧图输出路径。
  • background:指定雪碧图背景颜色。可以使用颜色字符串或一个函数来自定义背景颜色。
  • prefix:雪碧图 CSS 类选择器的前缀。
  • maxWidth:单张图片最大宽度。超出这个宽度的图片会被分割成多张图片。
  • maxHeight:单张图片最大高度。超出这个高度的图片会被分割成多张图片。
  • src:指定要处理的图片路径。可以是一个具体的路径,也可以是一个函数,函数接受文件路径作为参数,返回一个布尔值用于判断是否需要处理这个文件。

然后就可以在样式文件中使用 .icon-{icon-name} 这个类选择器来引用雪碧图中的图标文件了。

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

移动设备适配

在 nwayo 中可以使用 postcss-px-to-viewport 插件来自动将 px 值转换成视口单位(vw、vh)。

首先,我们要先安装 postcss-px-to-viewport

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

然后在 nwayo.config.js 中新增以下代码:

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

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

   -- ---
 ---

在这个配置中,我们新增一个 postcss 选项,用于配置 postcss 插件的选项。

其中,我们使用 pxToViewport 插件将 px 值转换成视口单位。

pxToViewport 接受一个对象作为参数,其中包括以下选项:

  • viewportWidth:视口宽度。可以是一个数字或一个函数,函数接受当前处理的文件路径作为参数,返回一个数字。
  • unitPrecision:转换后保留的小数位数。
  • viewportUnit:转换成的视口单位。可以是 vw、vh 或任何其他计算单位。
  • minPixelValue:指定最小的转换单位。例如,如果值为 2,则所有小于 2px 的视口单位将被转换成像素单位。
  • mediaQuery:是否在媒体查询中也进行转换。

在这个配置完成后,我们就可以在样式文件中使用 px 值,并自动将其转换成视口单位了。

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

转换后:

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

结语

通过本文,我们学习了如何使用 @absolunet/nwayo-toolbox 来构建前端项目,并实现自动化的雪碧图构建和移动设备适配功能。随着项目的复杂度不断增加,我们可以进一步探索 nwayo 和 webpack 的更多功能,以提高前端项目的自动化程度和开发效率。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/5eedb416b5cbfe1ea061122e


猜你喜欢

  • npm 包 emoji-text 使用教程

    什么是 emoji-text? emoji-text 是一个可以将文本转换成 emoji 表情的 npm 包,提供了简单易用的 API,能够快速方便地将普通文本转化为带有 emoji 图标的文本。

    4 年前
  • npm 包 gridicons 使用教程

    前言 在前端开发中,经常需要使用各种图标进行页面的布局与美化,为了方便使用,npm 包 gridicons 提供了一套现成的 SVG 图标库。本篇文章将详细介绍 gridicons 的使用方法,并提供...

    4 年前
  • npm 包 @tannin/sprintf 使用教程

    在前端开发中,处理字符串是一个非常常见的任务,@tannin/sprintf 是一款格式化字符串的 npm 包,它可以帮助我们更方便地处理字符串。本文将介绍 @tannin/sprintf 的使用方法...

    4 年前
  • npm 包 interpolate-components 使用教程

    介绍 前端开发中,有时需要将多个组件组合在一起形成一个复杂的界面。在 React 中,我们可以使用 props 和 state 进行组件之间的数据传递和交互,但是当组件之间需要传递大量数据时,不仅代码...

    4 年前
  • npm 包 @tannin/evaluate 使用教程

    在前端开发中,我们经常需要进行一些数据处理和运算操作,例如计算某个数学公式的值,判断某个条件是否成立等等。而在实际开发中,我们可以借助一些工具库来简化这些操作,从而提高我们的开发效率。

    4 年前
  • npm 包 @tannin/postfix 使用教程

    在前端开发中,npm 是不可或缺的工具之一。而@tannin/postfix 是一个非常有用的 npm 包,在帮助我们进行开发和调试时发挥了重要作用。该包提供了一种简单快捷的方式,在变量名后面添加后缀...

    4 年前
  • npm 包 @tannin/compile 使用教程

    简介 在前端开发中,我们经常需要对代码进行编译,将高级语法的代码转换成能够在浏览器中运行的代码,这时就需要使用编译工具来处理代码。@tannin/compile 是一款开源的编译工具,可以帮助我们轻松...

    4 年前
  • npm 包 @tannin/plural-forms 使用教程

    介绍 在前端开发中,我们经常需要处理多语言的情况。而对于多语言,不可避免的涉及到单复数的处理。尤其是当我们需要支持多个语言时,需要有一种通用的处理方式来处理不同语言下的单复数形式。

    4 年前
  • npm 包 tannin 使用教程

    在前端开发中,我们经常会使用到 npm 包来加速开发效率。tannin 是一个 Node.js 模块,它可以将 CSS 颜色值字符串解析成对象形式。这有助于在编码中查询和操作颜色值。

    4 年前
  • npm 包 i18n-calypso 使用教程

    在现代的多语言应用程序中,为了方便地实现国际化和本地化,我们经常会使用 i18n 库。i18n-calypso 是一个强大的 npm 包,提供了一系列的工具和函数帮助我们管理和处理多种语言。

    4 年前
  • npm 包 jsx-to-string 使用教程

    在前端开发中,我们通常用 JSX 来描述组件的结构,然后通过编译器将其转换成可执行的代码。但是,有时候我们需要将 JSX 转换成一个字符串,以便于在代码中动态生成组件。

    4 年前
  • npm 包 mini-css-extract-plugin-with-rtl 使用教程

    前言 当我们使用 React 开发 Web 应用的时候,我们通常使用 CSS 预处理器,比如 Sass、Less 或者 Stylus 之类的预处理器来编写 CSS 样式。

    4 年前
  • npm 包 objectpath 使用教程

    objectpath 是一个非常强大的 Javascript 库,它提供了一种简单易用的方式,以递归的方式访问 Javascript 对象。这个包的作用在前端开发中非常有用,尤其是在处理 JSON 数...

    4 年前
  • npm 包 percentage-regex 使用教程

    在前端开发中,有时需要对百分比数值进行数据验证或者格式化。npm 包 percentage-regex 就是一种用于验证和提取百分比数值的工具。本文将详细介绍该工具的使用教程。

    4 年前
  • npm 包 eslint-config-aftership 使用教程

    在前端开发过程中,我们通常会使用一些工具来帮助我们提高代码质量和开发效率。而 eslint-config-aftership 就是其中之一。本篇文章将为大家分享如何使用 eslint-config-a...

    4 年前
  • npm 包 babel-plugin-transform-modern-regexp 使用教程

    随着前端开发的不断发展,正则表达式作为一种强大的字符串匹配工具,在前端开发中也被广泛应用。但是传统的正则表达式语法也会存在一些弊端,在 ECMAScript 2015 之后,正则表达式的语法也得到了一...

    4 年前
  • npm 包 babel-preset-everything 使用教程

    在前端开发中,我们通常需要使用到 Babel 进行代码转换,使得我们能够使用最新的 ECMAScript 语法和特性,同时使得我们的代码能够被更多的浏览器兼容。而 babel-preset-every...

    4 年前
  • npm 包 eslint-config-jam 使用教程

    简介 在现代前端开发中,代码质量与规范性十分重要。为了保证团队协作效率和代码质量,需要使用代码检查工具。其中,eslint 是一款非常流行的 JS 代码检测工具。而 eslint-config-jam...

    4 年前
  • npm 包 idempotent-babel-polyfill 使用教程

    在前端开发中,难免会遇到跨浏览器兼容性的问题。这时候需要使用一些 polyfill 库来填补浏览器的 API 差异,从而使代码能够在各种浏览器上正常运行。而 idempotent-babel-poly...

    4 年前
  • npm 包 phone 使用教程

    在前端开发中,我们常常需要对用户输入的手机号进行格式验证或者说需要把常见的电话号码规范化,这里介绍一个常用的 npm 包—— phone,该包提供了对电话号码的规范化、归属地查询以及格式验证等多种功能...

    4 年前

相关推荐

    暂无文章