html5自动化实现,如何实现自动化前端开发?

news/2024/7/5 2:03:58 标签: html5自动化实现

IDE 不仅是文本编辑器,还是编译器、生成器、调试器和集成器。

作者 | Nicolus Rotich

译者 | 弯月,责编 | 郭芮

出品 | CSDN(ID:CSDNnews)

以下为译文:

每一行代码都可以表示为字符串变量,无论代码本身执行了哪些操作。

这就是我们使用文本文件(即集成开发环境,IDE)向计算机发布指令的根本原因,我知道你一定在想:文本编辑器的名字也太高级了吧。当你按照正确的结构将代码输入到 IDE 时,就赋予了文本超强的能力。IDE 不仅是文本编辑器,还是编译器、生成器、调试器和集成器。这就是普通文本与计算机代码之间的主要区别。

超文本变量语言

听说过超文本变量语言吗?不用担心,我也没听说过,因为这个词是我刚刚杜撰出来的。其实,我们有更好的方法编写 HTML 文件,尤其是实现代码编写的自动化。想象一下 HTML 文件的一般结构。首先是 head,然后是 body。而这两个部分又可以进一步细分,如下所示:

如上所示,如果我们将代码中的每个文本块转换为一个存储在某处的字符串变量,则自动化任务就可以进一步简化。在本文中,我们就要尝试这类的自动化,即通过简单的脚本,将上述字符串变量转化成常规的 HTML 文件。

如上所示,用变量表示代码非常简洁直观。问题是我们应该将这些变量存储在何处,以及怎样调用这些变量将其变成代码。下面我们就来具体讨论。

首先,我创建了一个命令行界面(CLI)应用程序,帮助我创建如下所示的项目文件和目录结构:

上图中有一个名为 variables 的文件夹,所有构成 HTML 文件的字符串变量就保存在这个文件夹中。这些变量适用于所有的 HTML 文件,例如 global.sh 文件中有一个名叫 $dec 的全局变量。

此外,上图中还有一个名为 templates 的文件夹,里面存储了相对较长的变量,例如 $head,其中包含元标记、文档标题、链接以及内联样式。我之所以把它们存储在单独的文件夹中,是因为这些局部变量需要定期更新。

利用 HTVL 创建第一个 HTML

请注意,我们只需处理一个名叫 init.sh 的特殊脚本。这个文件负责创建所有其他文件,包括 global.sh(包含所有全局变量的文件)。接下来,我们只需创建这个文件,并在必要的时候进行修改。这个文件应包含以下代码:

global_vars=./$prName/variables/global.sh

(

cat << globals

#!/bin/bash

dec="" # document type declaration

html="" # html opening

head="

" # head opening

deah="" # head closing

body="

" # body opening

dybo="" # body closing

lmth="" # html closing

globals

) > $global_vars

上述代码的输出是一个名为 global.sh 的脚本,你可以根据需要使用这个脚本。脚本的内容如下:

#!/bin/bash

dec="" # document type declaration

html="" # html opening

head="

" # head opening

deah="" # head closing

body="

" # body opening

dybo="" # body closing

lmth="" # html closing

我们还需要通过同样的方式创建一个文件来存储需要经常修改的变量。我们称其为 local.sh ——表示局部变量。

local_vars=./$prName/variables/local.sh

(

cat << locals

#!/bin/bash

read -r -d '' meta <

EOM

read -r -d '' links <

EOM

read -r -d '' title <

Title will go here

EOM

read -r -d '' bodyContent <

Custom application will go here

EOM

read -r -d '' scripts <

EOM

locals

) > $local_vars

同样,上述代码的输出是脚本 local.sh,内容如下:

#!/bin/bash

read -r -d '' meta <

EOM

read -r -d '' links <

EOM

read -r -d '' title <

Title will go here

EOM

read -r -d '' bodyContent <

Hypertext Variables Language ( HTVL )

EOM

read -r -d '' scripts <

EOM

每当你需要添加外部链接时(比如 bootstrap 的 CDN 链接),只需将链接复制粘贴到它所属的位置。外部脚本和元数据也是如此。最后,我们来看一看创建主页的脚本。通过上述步骤,应用程序文件 $appName.sh 的内容应该如下:

#!/bin/bash

# Import external script sources like this

source ./variables/global.sh

source ./variables/local.sh

indexFilePath=./$prName/public/index.html

cat > $indexFilePath <

$dec

$html

$head

${meta [ @ ] }

${links [ @ ] }

${title [ @ ] }

$deah

$body

${bodyContent [ @ ] }

$dybo

$lmth

_EOF_

现在,你只需简单地运行三个终端命令,就可以看到前端开发开始自动执行,如果你打开本地服务器的 8080 端口,就可以看到完整的网站,其中包含主页、登录、注册、以及找回密码等页面。

原文:https://medium.com/swlh/automating-front-end-development-baeded303154

本文为 CSDN 翻译,转载请注明来源出处。

热 文 推 荐

你点的每个 " 在看 ",我都认真当成了喜欢


http://www.niftyadmin.cn/n/1560018.html

相关文章

用日记本文档怎么写html,Win7系统如何使用日记本文档输入文字?

Win7系统中记录文字用的比较多的是Word或者文本文档&#xff0c;其实在Win7系统下还有一个.jut格式的日记本文档。不过大多数人对这个比较陌生。其实在日记本文档中打字也是很方便的&#xff0c;下面就来介绍一下日记本文档的使用方法。日记本文档说明&#xff1a;Win7中的日记…

linux Mint 初次安装,无法用ssh客户端连接

为什么80%的码农都做不了架构师&#xff1f;>>> Linux Mint 14 默认是没有安装ssh server 的&#xff0c; 安装ssh Server sudo apt-get install openssh-server 然后确认sshserver是否启动了&#xff1a; ps -e | grep ssh 如果只有ssh-agent那ssh-server还没有…

怎么用notepad将html格式化,Notepad++使用Tidy2格式化HTML文档的具体步骤

原创Notepad使用Tidy2格式化HTML文档的具体步骤编辑:小禾 来源:PC下载网时间:2020-01-19 13:48:33Notepad这款文本编辑器很不错哦&#xff0c;吸引了不少亲们安装入手。那么入手过程里&#xff0c;想使用Tidy2格式化HTML文档的话&#xff0c;应该如何操作呢&#xff1f;请看下文…

在html中页面怎,在html页面中如何搞定

在src文件夹下npm install html-webpack-plugin --save-devvar htmlWebpackPlugin require(html-webpack-plugin);module.exports {entry: {max: ./script/max.js,wyq:./script/wyq.js},//入口文件output: {path: ../dist,//指定路径filename: ./js/[name]-[chunkhash].js//文…

html调用del文件,HTML

HTML中的标记代表删除&#xff0c;用于标记已从文档中删除的一部分文本。尽管可以使用CSS text-decoration属性更改此属性&#xff0c;但已删除的文本由Web浏览器呈现为删除线文本。 标记需要一个开始和结束标记。用法:Contents... 属性&#xff1a;标记包含以下列出的两个属性…

直板横打不稳定,总是出界的可能原因 -- 乒在民间

1.没有引拍仓促出手&#xff0c;或者引拍太大收不住力量。2.板形。触球时的板形&#xff0c;打在球的那个位置有问题。3.整个手臂的动作&#xff0c;是否有很好的支撑&#xff1f;业余练直板横打&#xff0c;甩着手腕拉的比比皆是&#xff0c;缺乏稳定性。4.挥拍的方向。过于强…

CCF NOI1029 信息加密

问题链接&#xff1a;CCF NOI1029 信息加密。 时间限制: 1000 ms 空间限制: 262144 KB 题目描述 在传递信息的过程中&#xff0c;为了加密&#xff0c;有时需要按一定规则将文本转换成密文发送出去。有一种加密规则是这样的&#xff1a; 1. 对于字母字符&#xff0c;将其转…

陈经纶2021年高考成绩查询时间,最新丨2018人大附等28所北京学校中高考成绩一览...

原标题&#xff1a;最新丨2018人大附等28所北京学校中高考成绩一览2018年北京8所学校中考成绩人大附中2018年中考状元成绩2018文化课考试海淀区最高分裸分536分(满分540)&#xff0c;来自人大附中本部&#xff0c;其中语文99分、数学100、英语100分、物理99分、生化99分、历史9…