npm 包 metalsmith-atomic-design 使用教程

前端工程化中,对于网站的设计,离不开 Atomic Design 的概念。如何将 Atomic Design 应用于网站的创建过程中呢?这时我们就需要使用一个强大的工具——metalsmith-atomic-design。本文将详细介绍 metalsmith-atomic-design 的使用,同时提供实用示例代码,希望能够帮助读者更好地理解和应用此工具。

什么是 metalsmith-atomic-design?

metalsmith-atomic-design 是一个基于 metalsmith 的插件,用于将 Atomic Design 模式用于网站开发并构建静态页面。

准备工作

在开始本文的魔法之旅之前,你需要先安装好下面这两个东西:

  1. Node.js 下载地址:https://nodejs.org/en/download/
  2. Metalsmith 在安装完 Node.js 之后,使用 npm 命令进行 Metalsmith 的全局安装:npm install -g metalsmith

安装

使用 npm 命令进行 Metalsmith-Atomic-Design 的本地安装:npm install metalsmith-atomic-design --save-dev

基本使用

下面我们看一下,如何在创建网站时使用 metalsmith-atomic-design 插件。

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

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

在上述代码中:

  1. metalsmith-atomic-design 插件被定义并使用,该插件在 Metalsmith 中使用,使用 atomic-design 方法进行初始化。
  2. source:此为网站源代码目录的位置。
  3. layoutDir:可以通过这个参数来定制用于原子设计网站的布局。这些设置有助于为每个容器定制布局,并在构建站点时将其合并起来。
  4. partialsDir:这是构建过程中使用的部分页面的目录,充当轮廓视图中单个容器的分支。用于制作可重复使用部分以减轻重复代码的压力。
  5. helpersDir:包含可以在部分文件和方案文件中调用的自定义帮助器函数的目录。
  6. defaultLayout:设定一个默认的布局文件。这将在重写布局时起到一个基本的范例。

metalsmith-atomic-design 是如何工作的

页是由各种不同类型的元素组成的,如头部,导航菜单,内容等。在 Atomic Design 中,我们将页面元素组织成更具有层次性的组件,这就是所谓的“原子”级别,这些“原子”级部分可以合并以形成更大的分子级部分。而更大的分子级部分可以合并以形成模板,最后模板是用来构成最终的页面。

使用 metalsmith-atomic-design 的过程中,我们利用友好的分层结构将每个分子级部分构造出来,最后生成一个静态页面。

下面以一个项目实例说明 metalsmith-atomic-design 的工作流:

在项目根目录下的 src/views 文件夹中,可以看到我们将每个页面单独拆分为更小的部分,以便更好地进行管理和维护。

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

在项目根目录下的 src/layouts 文件夹中,我们定义了网站的布局文件。此处 default.hbs 是一个基本的布局文件。此文件包含了 yield 指令,用于定义页面元素在网站布局中互交换的方式。

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

在项目根目录的 src/partials 文件夹中,我们定义了关于头部到页脚中各个元素的 HTML 代码。

在项目根目录下的 src/data 文件夹中,我们可以定义数据 JSON,以便把相关数据绑定到模板中。

在项目根目录下的 src/helpers 文件夹中,我们可以定义辅助函数文件,以便用于渲染模板的过程中。

将多个原子级部件合并并编排,我们就可以在 default.hbs 中获取一个完整页面布局而不添加冗余的 HTML 或 CSS 代码,并且我们可以轻松地使用 Metalsmith 这个静态网站生成工具来生成静态HTML页面。

总结

通过对 metalsmith-atomic-design 的详细讲解,我们掌握了如何使用该工具应用 Atomic Design 模式进行网站设计。这是一个极具实用价值的工具,可以让我们更加优雅地完成网站设计和开发。如果读者还有任何疑问或意见,欢迎在评论区留言,与大家进行交流探讨。

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


猜你喜欢

  • npm 包 adafruit-pca9685 使用教程

    在前端开发中,我们常常需要控制一些硬件设备,而这些设备往往需要通过外部接口来进行控制。 adafruit-pca9685 是一个方便的 npm 包,它可以帮助我们控制 PCA9685 舵机驱动器。

    5 年前
  • npm 包 adafruit-i2c-pwm-driver 使用教程

    前言 在前端开发中,我们经常需要使用很多第三方包来完成一些特定的任务。npm 是目前前端开发中最大的包管理工具,通过它我们可以轻松地安装和使用各种第三方包。 本篇文章将会介绍如何在前端项目中使用 ad...

    5 年前
  • npm包 `adafruit-i2c-lcd` 使用教程

    在前端项目中,有时需要与硬件交互。 adafruit-i2c-lcd 是一款可以控制 Adafruit I2C 接口的 LCD 显示器的 npm 包。本教程将介绍如何使用 adafruit-i2c-l...

    5 年前
  • npm包 PK 使用教程

    npm 是 Node.js 的包管理工具,用于发布和安装包。前端开发者可以通过 npm 查找和安装各种 Web 开发相关的包,比如框架、插件、工具等。在这篇文章中,我们将介绍 npm 包 PK 的使用...

    5 年前
  • NPM包@natecontrols/octalbonescript使用教程

    前言 在前端开发中,使用多种工具和库是非常必要的。其中,npm作为node.js的包管理器,为我们提供了丰富的包资源。这篇文章将介绍一款名为@natecontrols/octalbonescript的...

    5 年前
  • npm 包 @types/restify-errors 使用教程

    在前端开发中,使用 TypeScript 来编写代码越来越流行,这也意味着我们需要更好的类型支持。@types/restify-errors 是一个为了在 restify 框架中支持 TypeScri...

    5 年前
  • npm 包 @serafin/pipeline 使用教程

    前言 在前端开发中,流程管道(pipeline)是一个非常重要的概念。它可以将多个函数串联起来,完成一系列任务。@serafin/pipeline 是一款优秀的 npm 包,它提供了一种便捷的方式来实...

    5 年前
  • npm 包 @restify-ts/errors 使用教程

    介绍 在开发前端应用的过程中,经常会涉及到错误处理的问题。@restify-ts/errors 是一个基于 TypeScript 的 JavaScript 库,可以有效地处理错误,并将错误信息输出到控...

    5 年前
  • npm 包 @politie/informant 使用教程

    什么是 @politie/informant @politie/informant 是一个 Node.js 模块,用于构建基于 Node.js 的应用程序。它的作用是在程序运行时,将运行状态记录为事件...

    5 年前
  • npm 包 @parade/utils 使用教程

    @parade/utils 是一个常见的 npm 包,它提供了许多常用的工具方法,如字符串转换、日期格式化、对象操作等等。这个 npm 包在前端开发中非常常见,可以帮助开发者提高代码的可读性和可维护性...

    5 年前
  • npm 包 @offscale/custom-restify-errors 使用教程

    概述 在前端开发中,我们常常使用 npm 包来帮助我们完成各种任务。其中一个常见的包就是 @offscale/custom-restify-errors。这个包提供了一种方便的方式来自定义错误信息,并...

    5 年前
  • npm 包 @node-power-tools/redis-tools 使用教程

    简介 @node-power-tools/redis-tools 是一个 Node.js 中使用 Redis 的工具包,提供了一系列操作 Redis 的方法,让开发者更加方便地使用 Redis。

    5 年前
  • npm 包 @mercadoni/elementals 使用教程

    介绍 @mercadoni/elementals 是一个提供了一系列前端组件的 npm 包,该包包括了各种组件,如按钮、表单、列表、卡片等,可以帮助您快速搭建一个现代化的网站或应用程序。

    5 年前
  • npm 包 @liskhq/lisk-api-client使用教程

    在前端开发中,使用 API 客户端库可以使得与后端服务器进行数据交互更加方便。 @liskhq/lisk-api-client是一个用于连接 Lisk 区块链网络的 npm 包。

    5 年前
  • npm 包 jenkinshield 使用教程

    在前端开发中,我们常常会使用一些第三方库和工具来简化我们的工作。在这其中,npm 是一个非常常用的包管理系统,它可以让我们很方便地下载和安装各种前端包。jenkinshield 就是一款非常实用的 n...

    5 年前
  • npm 包 bonescriptjtjk 使用教程

    简介 bonescriptjtjk 是用于在 Beaglebone Black 上编写 JavaScript 代码的 npm 包。它可以在 Beaglebone Black 上使用 Linux 命令行...

    5 年前
  • npm 包 @zingle/smtpdrop 使用教程

    在前端开发中,我们经常需要编写邮件功能来与用户进行沟通和信息传递。而 SMTP 是发送邮件的主要协议之一,因此在这里我们介绍一款非常实用的 npm 包 @zingle/smtpdrop,用于在本地监听...

    5 年前
  • npm 包 @ianwalter/houston 使用教程

    简介 @ianwalter/houston 是一款简单易用的命令行工具,可以用于自动化地发布和管理 npm 包。该工具基于 Node.js 编写,可以帮助前端开发人员在项目开发中提高效率。

    5 年前
  • npm 包 pasta 使用教程

    简介 npm 是 node.js 的包管理工具,它可以让我们轻松地下载、安装和管理开源软件包。pasta 是 npm 上一款让你可以轻松创建动态贴图的包。 pasta 可以根据给定的图片列表,生成一个...

    5 年前
  • npm 包 Hotplate 使用教程

    Hotplate 是一个能够快速搭建 Web 应用程序的 Node.js 库,它的开发目标是让 Web 开发更加快速、简单并且可靠。本文将介绍 Hotplate 的安装和使用,并提供示例代码及指导意义...

    5 年前

相关推荐

    暂无文章