首页
学习
活动
专区
圈层
工具
发布

前端工作方式要换了?HTMX简介:无需JavaScript的动态HTML

为了了解它是如何工作的,让我们看一个使用Express和Pug HTML模板引擎的TODO示例。这个例子是经典TODO应用程序的实现。...() }); 此命令使用内存中的待办事项集合,并使用一个Pug模板渲染它们,该模板是典型的格式,但它包括驱动HTMX交互的特殊hx-属性。...在PUG中编辑服务器端模板 form(hx-post="/todos/update/" + todo.id) input.edit(type="text", name="name",value=todo.name...然后,它使用这些值填充Pug模板并将其发送回客户端,用作前端的Todo列表中的插入。...使用HTMX的客户端模板 HTMX支持的这种模式的一个变种是使用客户端模板。这是一个在客户端运行的层,接受来自服务器的JSON,并在那里进行标记转换。

1.5K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Express服务器开发

    作者 | Jeskson 来源 | 达达前端小酒馆 Express服务器开发 创建Express应用程序,Express路由,pug视图模板的使用 Express简介: 让我们来创建Express应用程序...Express框架的优点: 可以用中间件来响应HTTP请求,可以定义路由表用于执行不同的HTTP请求,可以向模板传参数来动态渲染HTML页面。...,只用于获取数据 POST 用于将尸体提交到指定的资源 HEAD 请求一个与GET相同的响应,但没有响应体 PUT 用于请求有效载荷替换目标资源的所有当前表示 DELETE 删除指定的资源 CONNECT...视图模板 命令行下载: npm install pug pug.compile()将pug代码编译成一个JavaScript函数。...()模板函数: const pug = require('pug'); console.log(pug.renderFile('template.pug',{ name:'dada' }); 执行pug.renderFile

    2.2K20

    深入浅出mongodb之实战

    force on non-empty directory -h, --help output usage information 在默认的情况下,我们创建的项目模板引擎使用的是...jade,个人感觉ejs[2]模板引擎比较好用,所以我们可以通过修改模板引擎的方式创建项目 express backend -e 创建好项目之后,我们express骨架已经搭建好了,我们可以启动项目看一下效果...views这个文件夹中ejs文件结尾的文件是后端的模板文件 app.js是入口文件,模板配置和总路由文件 package.json 这个是包的描述文件,我们主要关注的是scripts和dependencies...,如果遇到了不同源请求时,会先询问来自哪个源对源进行检查之后,做出响应。...接下来就是我们平时常说的mvc模式下的m和c部分了,为了结构清晰,便于维护我们分成四部分scheme,model,controller,api scheme 在项目的根目录下创建scheme文件夹,因为这里项目简单我们就创建一个

    2.1K10

    ASP.Net开发基础温故知新学习笔记

    ①浏览器发出访问请求→②服务器处理访问请求并返回HTML→③浏览器解析HTML并显示页面   (3)GET与POST的区别:(★★★→重点)     ①GET通过URL传值,而POST通过HTTP报文;...    ②GET传递的数据量有限,POST则没有限制;     ③POST方式无法通过URL在其他用户中还原;     ④GET方式URL传特殊字符需要事先进行编码;   (4)HTTP协议基本理解:...包含请求类型、请求的数据以及客户端信息等;     ③响应(Response):包含具体HTML、响应是否成功以及错误码等; 二、模板引擎开发基础   (1)传统模式的缺点:     ①没有实现界面和逻辑的分离...,美工无法介入;     ②占位符替换不够灵活,无法进行复杂的替换;   (2)NVelocity模板引擎:     ①基本用法:编写模板→提供数据→渲染生成HTML     ②扩展用法:include...XHR xmlhttp.open("POST", url, true); //“准备”向服务器的GetDate1.ashx发出Post请求(GET可能会有缓存问题)。

    2.7K10

    【技术向】高可定 低维护の博客搭建指南

    例如添加/Demo分页,可以在配置文件中新增一项tab配置,在source文件夹下添加/demo/index.md即可,可以在post.pug模板中更改tab分页渲染index.md的方式。...post.pug模板代码: ? 实现效果: ? 其他的各种折腾,其实原理都类似,找到对应的pug模板代码进行增删改即可,包括样式、脚本、内容。...(注:pug,即前jade,前端的一种模板引擎,api参见https://pugjs.org/api/getting-started.html) 调试的过程也很方便,使用hexo server命令可以启动本地环境...,并且会自动watch你的更改(包括配置+scss+pug模板),并自动重新生成,这个过程也很快,大概一口茶不到的功夫。...搭建完成后,日常使用只需要将md源文件放入source/_post文件夹下,再运行一个简单的命令,即可自动生成+部署到git hexo generate --deploy hexo g -d 一些其他的实用功能也很多

    65120

    一篇文章看懂 OAuth2

    授权码 授权码模式.png 授权码顾名思义即用户授权的凭据是一个“授权码”。大部分基于 OAuth2 的用户数据获取流程都使用授权码形式的授权凭据。...用户允许授权后,授权服务器引导用户携带授权码跳转到客户端。一般情况下,授权服务器会使用重定向链接跳转回客户端。...客户端服务器若检测到重定向链接中拼接的授权码,则使用授权码向授权服务器发起请求获取访问令牌。...隐式授权 隐式授权.png 隐式授权即不产生授权码的授权码模式,在隐式模式中,整个流程不存在授权码,用户在授权服务器授权通过后,授权服务器会直接生成访问令牌继续执行后面的操作,隐式模式适用于存在 “...五、使用 以下使用 Node.js 演示授权码类型下获取 GitHub 的 OAuth2 授权,涉及的库包括: koa axios pug 注册 GitHub OAuth 应用 OAuth2 是一个获取用户存储在其他网站上数据的标准

    1.8K60

    Express进阶升级

    ├── error.pug #视图模板可以使用模板引擎(如 Pug、EJS 等)渲染动态内容 ├── index.pug └── layout.pug 小技巧tisp: 学习一个陌生项目...无状态: 每个请求从客户端到服务器必须包含理解和处理请求所需的所有信息,与之前的请求无关 代码按需: 服务器可以提供可执行代码或脚本,客户端可以选择下载并执行,以扩展客户端功能 统一接口: 具有统一的接口...以开发:图书API接口举例: 操作 请求类型 请求URL 结果 获取所有图书 GET /book 返回图书列表数组 获取单个图书 GET /book/:id 返回单个图书信息 新增图书 POST /book...↔响应: 很多情况通过HTTP进行 请求↔响应 HTTP 是一种无状态的协议,它没有记忆、没有办法区分多次的请求是否来自于同一个客户端, 无法区分用户......A、B 同时登录BiliBili A喜欢看鬼畜、B喜欢看番剧【都收藏了很多视频…】 但是,HTTP是无状态的每次请求都是一个新的开始,从而无法记录收藏记录… 我们迫切的需要一种东西,可以用来判断用户状态

    1K10

    SpringBoot+Vue(一)商品管理系统 模式介绍 、项目改造

    是w3c组织的标准 优势: 在服务端进行控制是否允许跨域,可自定义规则 支持各种请求方式:get、post、put、delete 限制访问的电脑的IP地址 缺点: 会产生额外的请求(可能发一次/二次请求...它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。 CORS需要浏览器和服务器同时支持。...浏览器先询问服务器,当前网页所在的域名是否在服务器的许可名单之中,以及可以使用哪些HTTP动词和头信息字段。只有得到肯定答复,浏览器才会发出正式的XMLHttpRequest请求,否则就报错。...:会额外用到的头信息 预检请求的响应 服务的收到预检请求,如果许可跨域,会发出响应: HTTP/1.1 200 OK Date: Mon, 01 Dec 2008 01:15:39 GMT Server...CORS配置信息 CorsConfiguration config = new CorsConfiguration(); //1) 允许的域,不要写*,否则cookie就无法使用了

    1.4K10

    什么样的vue面试题答案才是面试官满意的

    现在 axios 已经成为大部分 Vue 开发者的首选特性从浏览器中创建 XMLHttpRequests从 node.js 创建 http请求支持 Promise API拦截请求和响应转换请求数据和响应数据取消请求自动转换...:"GET", // 设置请求方法 params:{ // get请求使用params进行参数凭借,如果是post请求用data type: '', page: 1 }}).then...)状态码: 根据接口返回的不同status , 来执行不同的业务,这块需要和后端约定好请求方法:根据get、post等方法进行一个再次封装,使用起来更为方便请求拦截器: 根据请求的请求头设定,来决定哪些请求可以访问响应拦截器...、性能、安全等方面说几条:编码风格方面:命名组件时使用“多词”风格避免和HTML元素冲突使用“细节化”方式定义属性而不是只有一个属性名属性名声明时使用“驼峰命名”,模板或jsx中使用“肉串命名”使用v-for...shallowRef或shallowReactive降低开销避免不必要的组件抽象安全:不使用不可信模板,例如使用用户输入拼接模板:template: + userProvidedString

    2.3K30

    吃透 Vue 项目开发实践|16个方面深入前端工程化开发技巧《上》

    通过 pug 我们可以省略很多字符的敲打,下面我们谈谈如何使用 pug 编写模版。...如何使用 pug 类似 sass,首先安装 pug 和 pug 的 loader yarn add -D pug pug-html-loader pug-plain-loader 复制代码 完成配置 module.exports...') .loader('pug-html-loader') .end() } } 复制代码 编写 pug 代码 使用 scss 工具与 pug 完美搭配,少写很多代码 //...而静态型的 import 是初始化加载依赖项的最优选择,使用静态 import 更容易从代码静态分析工具和 tree shaking 中受益。 说白了就是起到一个按需加载的目的。...如何使用mock模拟数据 原理与解决方案 一般就是两种方案,一是模拟后端,使用远程在线 JSON 服务器。另外一种搭建本地 JSON 或者 使用现成的 Node 服务器拦截请求。

    1.5K30

    NPM插件的开发

    教程原贴 高情商:有效治疗低血压患者 Hexo API文档 参考了页面生成插件的写法 参考了页面植入式插件的写法,以及hexo api的具体应用 编译stylus文件 stylus官方文档 编译pug...文件 PUG官方文档 店长的碎碎念 本文讨论的npm插件化,针对的是那种可以放在单独的页面魔改,或者代码可以剥离出来,通过某个特定的页面容器进行挂载的植入式魔改方案。...NPM插件的发布 此部分内容已经在NPM图床的使用技巧中进行过详细描述。关于账户注册和插件发布的部分本帖不会再详细展开。以下仅针对本地开发流程进行阐述。 教程拆解 逐步拆解新建过程。...开发模式基本同本帖所讨论的模板方案。在涉及一些辅助函数的时候也有详细注释。各位开发者可以选择适当的内容作为参照。...动态生成css 页面生成式 单独页面生成模板 容器植入式 结合文章front-matter进行筛选,实现与post的front-matter联动 容器植入式 多主题适配,读取主题,自动加载容器

    59710

    6个最好的Go语言Web框架

    下面是一个例子: .Get or GET("/path", gethandler) .Post or POST("/path", postHandler) .Put or PUT("/path", putHandler...视图引擎:Pug(View Engine: Pug) 框架支持 Pug 解析器来加载模板。...Web缓存系统记录了网络通信,如果满足某些条件,后续请求的结果可以直接取自Web缓存。Web缓存系统既可以指设备,也可以指计算机程序。...当框架支持这一功能时,你可以在发送给客户端之前检索,重置或修改的状态代码、正文和头文件(在基于net/http的Web框架中,默认情况下这是不可能的,因为正文和状态代码在写入后无法检索或更改)。...上面简单的测试检查 /admin 请求是否返回状态码 Status OK 并验证特定的用户名和密码,最后检查正文内容是 “welcome”。

    1.6K10
    领券