搜索
首页web前端css教程使用玉和咕unt弹加快HTML生产

Using Jade and Grunt to Speed Up HTML Production

将汇编为:

<span><span>
</span><span><span><span>></span>
</span>  <span><span><span>></span>
</span>    <span><span><span><title>></title></span> Jade Tutorial <span><span></span>></span>
</span>  <span><span><span></span>></span>
</span>  <span><span><span>></span>
</span>    <span><span><span><p> class<span>="className"</span> id<span>="idName"</span>></p></span> Hello SitePoint Readers! <span><span></span>></span>
</span>    <span><span><span><img  src="/static/imghwm/default1.png" data-src="js/jquery.min.js" class="lazy" alt="使用玉和咕unt弹加快HTML生产" > src<span>="images/image.png"</span>></span>
</span>  <span><span><span></span>></span>
</span><span><span><span></span>></span></span></span></span></span></span></span></span></span>

使用Jade,您不必编写关闭标签,这有助于避免潜在的错误,例如忘记添加关闭标签或失去其正确顺序。线路开头的任何文本都被解释为标签。您需要为每个标签使用适当的凹痕。

>注意:如果省略了标签名称,则将创建DIV作为默认标签。>

>要将属性添加到标签中,将它们放在标签名称之后的括号中,然后按照名称= value格式。要分开多个属性,请使用逗号。此外,可以用类和ID编写。和#符号分别如上一个示例。

>

使用管道字符(|)

>有时我们需要在新行上写下标签的原始内容,但是,正如我前面提到的,在行开头的任何文本都被视为标签

。为避免这种情况,请使用管道或|字符在线路的开头,并在新行上写入标签的内部文本。> >注意:为了查看您在Jade文件中进行的更改,您需要根据我们创建之前的grunt任务运行grunt。

强大的翡翠特征grunt

在上一节中,我对玉的语法进行了快速概述。在以下各节中,我们将介绍一些其他常见和强大的玉器功能,以及一些更高级的玉。我们将通过简单的“工作空缺页面”示例来做到这一点。您可以在源代码文件中的每种情况或此github存储库中找到每个情况的完整示例。让我们开始!

块并扩展(玉继承)

>

>称为layout.jade的文件将是我们页面布局的基本结构,这是一种干燥的概念,因为您无需为每个页面编写这些标签。相反,您需要扩展布局并开始编写块内容特定的代码,如我们所见。 块是分离或组织布局的。然后可以在另一个文件中覆盖它。

>

>注意:删除了CSS和JavaScript代码以进行简洁和焦点。您可以在存储库中找到这些。另外,我已经使用了复制grunt任务将JS和样式目录从应用程序目录传输到构建目录。

这是layout.jade file:

>

>您可以根据需要创建脚步和jade。对于我们的页面,我们将使用Foundation和jQuery来帮助我们建立一些基本的设计和功能。

>

这是partials/head.jade文件:

doctype html
html(lang="en" dir="ltr")
  block head
    include partials/head.jade

  body
    block content
    block footer
      include partials/footer.jade
这是partials/footer.jade文件:

<span><span>
</span><span><span><span>></span>
</span>  <span><span><span>></span>
</span>    <span><span><span><title>></title></span> Jade Tutorial <span><span></span>></span>
</span>  <span><span><span></span>></span>
</span>  <span><span><span>></span>
</span>    <span><span><span><p> class<span>="className"</span> id<span>="idName"</span>></p></span> Hello SitePoint Readers! <span><span></span>></span>
</span>    <span><span><span><img  src="/static/imghwm/default1.png" data-src="js/jquery.min.js" class="lazy" alt="使用玉和咕unt弹加快HTML生产" > src<span>="images/image.png"</span>></span>
</span>  <span><span><span></span>></span>
</span><span><span><span></span>></span></span></span></span></span></span></span></span></span>
在下一个代码段中,我们将创建Jobs.jade,该JADE使用Extend Sexts关键字继承我们的布局,然后覆盖所需的块来使用所有其他文件。在此示例中,我们覆盖内容块。

>

jobs.jade:

doctype html
html(lang="en" dir="ltr")
  block head
    include partials/head.jade

  body
    block content
    block footer
      include partials/footer.jade
>但是,如果我们不需要覆盖整个块怎么办?如果我们只需要添加内容怎么办?让我们以障碍物为例。我们需要在标题中为此页面添加一个特殊的脚本,因此我们将在块之后使用附加或预读关键字。

head
  meta(name="viewport", content="width=device-width, initial-scale=1.0")
  meta(charset="UTF-8") 
  title Jobs
  link(rel = "stylesheet" href = "style/foundation.min.css")
  link(rel = "stylesheet" href = "style/app.css")
>使用迭代和混音

在上一节中,我们包括Job-Container.jade。在本节中,我们将研究循环和混合物的好处,以及如何在Jade中使用它们。

这是新代码段的初始版本:

如您所见,我们正在使用多个普通循环语句,例如第一行中的一个 - 作业中的每个作业。 - 字符用于未直接添加任何输出的无封闭代码。

>

在以前的代码段中,有冗余代码可以使用Mixins变干,如以下代码:
div#footer.row
  div.small-12.large-12.columns
    p Copyright (c) foobar
script()
script()
script()

>在这里,我们使用Mixin功能创建了可重复使用的Jade块。混合素就像具有名称并在其内部代码中评估的参数的方法(或函数)。在上面的示例中,我们创建了一个称为SkillsBlock()的Mixin。

>要使用此Mixin,我们只编写其名称并传递适当的参数值,并将Mixin名称和符号前缀以将其识别为Mixin Call。

>注意:与上述代码一样,我们可以通过=,!=或#{}来评估值。但是,当您使用!=时,请小心,这不会逃脱,因此对于用户输入不安全。

extends layout.jade
block content
  div#container.row
    div.small-12.large-12.columns
      include job-container.jade
通过GRUNT

传递JSON数据

建立我们的环境后,让我们通过使用grunt任务将JSON数据从JSON文件传递到Jade的JOSON数据来做一些很棒的事情。

>首先,创建JSON文件data.json,然后用所需的数据填充它。>

然后打开gruntfile.js,然后将数据属性添加到Jade任务的选项中,如下:

>作业数据/当地人(传递给Jade模板的数据称为当地人)属性将传递给文件属性中标识的JADE文件,并且可以在Jade代码中使用。这种方式使您能够轻松地将文本内容添加到网页中。

>

>最后,如果您查看演示,您可以看到页面的外观。当然,该来源是编译的,因此在这种情况下,演示并不重要。屏幕截图如下所示。

总结

使用模板引擎的理由可能会有所不同,但可以将它们归类为更高的生产力,更少的重复和具有更愉快的语法。另外,您可能不想用母语编写代码,因为它过于重复,容易出错,或者您根本不喜欢它。这是像Jade这样的语言,调整了您的代码简洁而简单,开始发挥作用。

Jade可以帮助您编写清洁器代码,这使您的工作变得不那么乏味。我们使用Grunt涵盖了一些基本知识,技巧和技巧。您可以在本教程中了解更多有关Jade的信息,因此您可以查看官方文档以获取更多信息。

>

>常见问题(常见问题解答)关于使用Jade和Grunt加快HTML生产

什么是翡翠,为什么我应该将其用于HTML生产?它通过允许您编写易于维护的干净,可读的代码来简化编写HTML的过程。它还支持动态代码,可重复使用的块和包含,它们可以显着加快HTML生产的速度。

>如何在加速HTML生产时如何补充Jade?

grunt是JavaScript任务跑步者自动化重复的任务,例如缩小,编译,单位测试和覆盖。当与翡翠一起使用时,可以将翡翠模板编译到HTML中的过程中,从长远来看可以节省大量的时间和精力。

>

我如何安装Jade and Grunt? >可以通过NPM(节点软件包管理器)安装Jade和Grunt。您可以通过在终端或命令提示符中安装'npm安装grunt -cli -g'来安装'jade和grunt。

有几种可以将HTML转换为Jade的在线工具,例如html2jade.org和codebeautify.org。但是,如果要以编程方式将HTML转换为Jade,则可以使用“ HTML2Jade” NPM软件包。

>

>使用HTML用于Jade Conversion的在线工具有什么好处?对于HTML到Jade转换,易于使用,不需要任何安装。他们可以快速将您的HTML代码转换为Jade语法,如果您是Jade的新手,或者如果您有大量需要转换的HTML代码,这可能会非常有帮助。

>

>我如何使用' HTML2JADE'NPM软件包,用于HTML到Jade转换?

>

>通过NPM安装'HTML2Jade'软件包后,您可以使用它来转换通过在终端或命令提示符中运行“ html2jade yourfile.html”,通过运行“ html2jade yourfile.html”到Jade。这将输出相当于您的HTML代码的JADE。

>我可以将Jade与其他任务跑步者一起使用,例如Gulp?

是的,可以与Gulp这样的其他任务跑步者使用Jade。有一些可用于大口的插件可以将玉模板编译为HTML,类似于Grunt。使用“ Include”关键字,然后使用文件的路径。这对于在多个模板中包括标头和页脚等常见元素非常有用。

>我可以在我的玉模板中使用javascript吗?您可以使用' - '字符在玉模板中启动JavaScript代码线。

>

>如何在玉模板中调试错误?

jade> jade提供可以帮助您的详细错误消息,您在模板中调试错误。如果您使用的是Grunt,也可以使用“ Grunt-Contrib-jade”插件,该插件提供了调试Jade模板的“ Jade:debug”任务。

以上是使用玉和咕unt弹加快HTML生产的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
什么是CSS网格?什么是CSS网格?Apr 30, 2025 pm 03:21 PM

CSS网格是创建复杂,响应式Web布局的强大工具。它简化了设计,提高可访问性并提供了比旧方法更多的控制权。

什么是CSS Flexbox?什么是CSS Flexbox?Apr 30, 2025 pm 03:20 PM

文章讨论了CSS FlexBox,这是一种布局方法,用于有效地对齐和分布响应设计中的空间。它说明了FlexBox用法,将其与CSS网格进行了比较,并详细浏览了浏览器支持。

我们如何使用CSS使网站迅速响应?我们如何使用CSS使网站迅速响应?Apr 30, 2025 pm 03:19 PM

本文讨论了使用CSS创建响应网站的技术,包括视口元标签,灵活的网格,流体媒体,媒体查询和相对单元。它还涵盖了使用CSS网格和Flexbox一起使用,并推荐CSS框架

CSS盒装属性有什么作用?CSS盒装属性有什么作用?Apr 30, 2025 pm 03:18 PM

本文讨论了CSS盒装属性,该属性控制了元素维度的计算方式。它解释了诸如Content-Box,Border-Box和Padding-Box之类的值,以及它们对布局设计和形式对齐的影响。

我们如何使用CSS动画?我们如何使用CSS动画?Apr 30, 2025 pm 03:17 PM

文章讨论使用CSS,关键属性并与JavaScript结合创建动画。主要问题是浏览器兼容性。

我们可以使用CSS向我们的项目添加3D转换吗?我们可以使用CSS向我们的项目添加3D转换吗?Apr 30, 2025 pm 03:16 PM

文章讨论了Web项目的3D转换,关键属性,浏览器兼容性和性能注意事项的讨论。(角色计数:159)

我们如何在CSS中添加梯度?我们如何在CSS中添加梯度?Apr 30, 2025 pm 03:15 PM

文章讨论了使用CSS梯度(线性,径向,重复)来增强网站视觉效果,添加深度,焦点和现代美学。

CSS中的伪元素是什么?CSS中的伪元素是什么?Apr 30, 2025 pm 03:14 PM

文章讨论了CSS中的伪元素,它们在增强HTML样式方面的使用以及与伪级的差异。提供实用的例子。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器