首页 文章 精选 留言 我的

精选列表

搜索[前端工程师],共10000篇文章
优秀的个人博客,低调大师

前端必备:FrontendBlocks 3.9 版本重磅发布

重磅更新内容(划重点):可以支持相似块的class合并了,生成的css代码行数最高可降95%! 对于大家的使用反馈我非常重视,所以在改了两个小版本之后又用几个项目实测了近一年,这回终于正式发布3.9版本。 赶快发挥你对弹性布局的理解和设计才华吧!高度还原设计稿必备! 更新内容: 1、智能父子连字符关联:支持CSS名称连字符的父子关系关联,生成产物的命名更加省心 我们可以用连字符命名各个块,并且支持在块中嵌套块,这样我们就可以很方便的实现复杂的页面布局。 比如icon-btn,下面分别有icon-btn-image和icon-btn-text两个子元素, 那么在生成的时候会自动生成下面的这种代码: <div class="icon-btn" onclick="iconBtnClick()"> <img class="image"/> <div class="text">图标文字</div> </div> <style> .icon-btn{ box-sizing:border-box; border-bottom:1px solid rgba(229, 229, 229, 1); border-right:1px solid rgba(229, 229, 229, 1); text-align:left; display:flex; position:relative; height:92px; width:33%; flex-direction:column; justify-content:center; align-items:center; } .icon-btn{ user-select: none; } .icon-btn:hover{ opacity: 0.8; } .icon-btn:active{ opacity: 0.5; } .icon-btn>.image{ background-image:url(https://www.yumeisoft.com/demo-icon.jpg); background-size:cover; background-repeat:no-repeat; background-position:center; text-align:left; width:32px; height:32px; } .icon-btn>.text{ font-size:14px; color:rgba(102, 102, 102, 1); text-align:left; display:flex; position:relative; width:100%; flex-direction:column; align-items:center; } </style> 2、智能CSS精简:精简了生成的CSS代码,原来数千行的代码现如今只需几十行。对于结构相同并且所有子元素样式一模一样的,不会再生成新的block样式,而是直接复用之前的样式。 3、对于名称为-btn、-button结尾的元素自动加上点击效果,并且自动添加点击事件,写业务代码更方便,生成完几乎直接就可以开写! 4、增加了7个常用模板,可以更快速的构建布局。 5、极速设置面板里增加了一键“设置随机占位图”按钮,立即就能给当前块加背景,快速获得图文并茂的效果。 6、重写了导出vue和html的代码,现在导出规则已经和ToolsBar解耦,你可以更方便的写你想要的任何导出规则。 7、导出界面增加了一键复制功能,粘贴到代码里就能用!更贴心。

优秀的个人博客,低调大师

淘系前端架构 - 周刊 - 210809 期

🗞 News Visual Studio Code 1.59 发布 扩展视图进行了一些改进:丰富了悬停时的扩展详细信息,设置了新的运行时状态选项卡 设置编辑器引入验证功能:设置编辑器现在支持对象验证 拖放终端方面进行了改进:现在能将终端跨窗口移动到编辑器和面板区域 自定义扩展主题:一次设置多个颜色主题 内置对 Jupyter notebooks 支持:.ipynb文件现在能直接在 VS Code 中打开 改进了Notebook UI:显示折叠单元格的第一行 首批测试 API 已经完成:支持在 VS Code 中使用内置测试资源管理器运行测试 调试反汇编视图预览:在 VS Code 中显示反汇编的 C++ 代码 实时预览插件有了新功能:VS Code 现在支持实时 HTML 预览,支持 JavaScript 调试 Remote - Containers devcontainer CLI:引入用于处理开发容器的命令行界面 Release:Visual Studio Code July 2021 Svelte 首款 IDE 发布 首款基于 Electron 和 Svelte 开发的 IDE 正式发布。 GitHub Repo:oslabs-beta/SvelteStorm Home Page:SvelteStorm 📦 Open Source html-to-image 一个基于dom-to-image改造并添加的一些新特性的 HTML 转图片库。 GitHub Repo:bubkoo/html-to-image vanilla-extract 零运行时的 CSS in TS 方案。允许你使用 TypeScript(或 JavaScript)编写样式,允许使用 CSS Variables,并且会生成 scoped className,这些都会在编译时被编译为静态的 CSS 文件。 GitHub Repo:seek-oss/vanilla-extract CodeSandbox Demo:vanilla-extract-webpack-react - CodeSandbox Neon 用于编写安全、快速的原生 Node.js 模块的 Rust binding。 GitHub Repo:neon-bindings/neon Sequelize-Auto 通过命令行自动生成基于 Sequelize 的 model。 GitHub Repo:sequelize/sequelize-auto Mermaid 采用类 Markdown 的方式从文本生成图表和流程图。 很多同学都在使用 Typora 做 Markdown 编辑器,Mermaid 就是 Typora 内置的作图工具,能够让你使用类 Markdown 的语法生成各种图表和流程图,语法非常简洁易懂。 举例,如果需要生成一个简单的流程图,只需要在 Typora 中输入代码块,选择语言为 mermaid 即可。 ```mermaid graphTD; A-->B; A-->C; B-->D; C-->D; ``` 对应的流程图是这样的: 不仅能够画流程图,还能画甘特图。 ```mermaid gantt dateFormatYYYY-MM-DD titleAddingGANTTdiagramtomermaid excludesweekdays2014-01-10 sectionAsection Completedtask:done,des1,2014-01-06,2014-01-08 Activetask:active,des2,2014-01-09,3d Futuretask:des3,afterdes2,5d Futuretask2:des4,afterdes3,5d ``` 对应的甘特图是这样的: GitHub Repo:mermaid-js/mermaid Documentation:mermaid - Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs. 📑 Article Safari isn't protecting the web, it's killing it 最近有很多关于“Safari 是新的 IE”的讨论,也有人说“Safari 实际上是在保护 Web,它拒绝添加那些可能造成安全/隐私/体积问题的实验性特性”,众说纷纭。 文章从各个角度对“Safari isn't protecting the web, it's killing it”这一观点进行了阐述,非常值得学习和思考! 原文链接:Safari isn't protecting the web, it's killing it 用「增量」思想提升代码检查和打包构建的效率 推荐这篇文章的原因是近期团队在开发过程中受到了 Lint 时间上的困扰,无论是本地还是 CI,Lint 时间都偏长。 文章详细介绍了如何实现文件级别的增量代码检查和增量打包构建,非常值得学习! 原文链接:用「增量」思想提升代码检查和打包构建的效率 客户端产品一般是用什么编程语言写的? 回答详细介绍了作者使用 Rust、Neon、Electron 作为客户端产品技术选型的原因,并针对其中的一些问题做了详细解答。 原文链接:客户端产品一般是用什么编程语言写的? React IO 组件 & 锁 文章详细讲解了如何在 React 中实现一个能够在受控组件和非受控组件之间切换的输入框组件,顺便介绍了一些与锁有关的的计算机基础知识,非常值得学习! 原文链接:React IO组件 & 锁 你真的了解 JAMStack 吗? 文章详细介绍了 JAMStack 的工作流,并对 JAMStack 的优缺点及适用场景做了较为深入的分析,非常值得学习! 原文链接:Jamstack,你真的了解它吗?

优秀的个人博客,低调大师

前端 JS 之 AJAX 简介及使用

概述 AJAX 是一个缩写,它的全名是 Asynchronous JavaScript and XML,意思就是异步 JavaScript 和 XML,即用JavaScript执行异步网络请求。 AJAX 不是一种新技术,而是一个在 2005 年被 Jesse James Garrett 提出的新术语,用来描述一种使用现有技术集合的‘新’方法,包括: HTML 或 XHTML CSS JavaScript DOM XML XSLT XMLHttpRequest 尽管 X 在 AJAX 中代表 XML, 但由于 JSON 的许多优势,比如更加轻量以及作为 Javascript 的一部分,目前 JSON 的使用比 XML 更加普遍。JSON 和 XML 都被用于在 AJAX 模型中打包信息。 AJAX 的优势 传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。 AJAX 通过在后台与服务器进行少量数据交换,可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。 XMLHttpRequest 对象 XMLHttpRequest(XHR)对象用于与服务器交互。通过 XMLHttpRequest 可以在不刷新页面的情况下请求特定 URL,获取数据。这允许网页在不影响用户操作的情况下,更新页面的局部内容。XMLHttpRequest 在 AJAX 编程中被大量使用。 AJAX 的工作原理 其工作原理基本经过以下几个步骤: 客户端发送请求,请求交给 xhr。 xhr 把请求提交给服务。 服务器进行业务处理。 服务器响应数据交给 xhr 对象。 xhr 对象接收数据,由 JavaScript 把数据写到页面上。 AJAX 的创建步骤 根据 AJAX 的工作原理,它的创建步骤主要包括: 创建 XMLHttpRequest 对象,即创建一个异步调用对象。 创建一个新的 HTTP 请求,并指定该 HTTP 请求的方法、URL 及验证信息。 设置响应 HTTP 请求状态变化的函数。 发送 HTTP 请求。 获取异步调用返回的数据。 使用 JavaScript 和 DOM 实现局部刷新。 AJAX 的具体使用 以下是 使用 AJAX 的完整流程。 1. 创建 XMLHttpRequest 对象 const request = new XMLHttpRequest(); 2. 创建一个新的 HTTP 请求,并指定该 HTTP 请求的方法、URL 及验证信息 创建 HTTP 请求可以使用 XMLHttpReques t对象的 open() 方法,其语法代码如下: request.open(method, url, async, user, password); 参数解析: method 要使用的HTTP方法,比如 "GET"、"POST"、"PUT"、"DELETE" 等。 url 表示要向其发送请求的 URL 地址。 async (可选) 一个可选的布尔参数,表示是否异步执行操作,默认为 true。如果值为 false,send() 方法直到收到答复前不会返回。如果 true,已完成事务的通知可供事件监听器使用。如果 multipart 属性为 true 则这个必须为 true,否则将引发异常。 user (可选 用于认证用途的用户名,默认值为 null。 password (可选) 用于认证用途的密码,默认值为 null。 3. 设置响应 HTTP 请求状态变化的函数和服务端返回信息函数 创建完 HTTP 请求之后,应该就可以将 HTTP 请求发送给 Web 服务器了。然而,发送 HTTP 请求的目的是为了接收从服务器中返回的数据。从创建 XMLHttpRequest 对象开始,到发送数据、接收数据、XMLHttpRequest 对象一共会经历以下 5 种状态: 未初始化状态。在创建完 XMLHttpRequest 对象时,该对象处于未初始化状态,此时 XMLHttpRequest 对象的 readyState 属性值为 0。 初始化状态。在创建完 XMLHttpRequest 对象后使用 open() 方法创建了 HTTP 请求时,该对象处于初始化状态。此时 XMLHttpRequest 对象的readyState属性值为 1。 发送数据状态。在初始化 XMLHttpRequest 对象后,使用 send() 方法发送数据时,该对象处于发送数据状态,此时XMLHttpRequest 对象的 readyState 属性值为 2。 接收数据状态。Web 服务器接收完数据并进行处理完毕之后,向客户端传送返回的结果。此时,XMLHttpRequest 对象处于接收数据状态,XMLHttpRequest 对象的 readyState 属性值为 3。 完成状态。XMLHttpRequest 对象接收数据完毕后,进入完成状态,此时 XMLHttpRequest 对象的 readyState 属性值为 4。此时接收完毕后的数据存入在客户端计算机的内存中,可以使用 responseText 属性或 responseXml 属性来获取数据。 总的来说,readyState 属性的值有以下几种: 0 (未初始化) or (请求还未初始化) 1 (正在加载) or (已建立服务器链接) 2 (加载成功) or (请求已接受) 3 (交互) or (正在处理请求) 4 (完成) or (请求已完成并且响应已准备好) 只读属性 XMLHttpRequest.status 返回了 XMLHttpRequest 响应中的数字状态码。status 的值是一个无符号短整型。在请求完成前,status 的值为 0。值得注意的是,如果 XMLHttpRequest 出错,浏览器返回的 status 也为0: UNSENT(未发送) 0 OPENED(已打开) 0 LOADING(载入中) 200 DONE(完成) 200 var xhr = new XMLHttpRequest(); console.log('UNSENT', xhr.readyState); // readyState 为 0 xhr.open('GET', '/api', true); console.log('OPENED', xhr.readyState); // readyState 为 1 xhr.onprogress = function () { console.log('LOADING', xhr.readyState); // readyState 为 3 }; xhr.onload = function () { console.log('DONE', xhr.readyState); // readyState 为 4 }; xhr.send(null); 只有在XMLHttpRequest对象完成了以上5个步骤之后,才可以获取从服务器端返回的数据。因此,如果要获得从服务器端返回的数据,就必须要先判断XMLHttpRequest对象的状态: const xhr = new XMLHttpRequest(); xmlHttpRequest.onreadystatechange = function () { if (xhr.readyState === 4 && xhr.status === 200) { // do something here } } 4. 发送HTTP请求 XMLHttpRequest.send(data); 结束 最后,附上一个简单的完整 AJAX 实例: <button id="ajaxButton" type="button">Make a request</button> <script> var httpRequest; document.getElementById("ajaxButton").addEventListener('click', makeRequest); function makeRequest() { httpRequest = new XMLHttpRequest(); httpRequest.onreadystatechange = alertContents; httpRequest.open('GET', 'test.html'); httpRequest.send(); } function alertContents() { if (httpRequest.readyState === XMLHttpRequest.DONE) { if (httpRequest.status === 200) { alert(httpRequest.responseText); } else { alert('There was a problem with the request.'); } } } </script> ~ ~ ~ 本文完 ~ 学习有趣的知识,结识有趣的朋友,塑造有趣的灵魂! 大家好!我是〖编程三昧〗的作者 隐逸王,我的公众号是『编程三昧』,欢迎关注,希望大家多多指教! 知识与技能并重,内力和外功兼修,理论和实践两手都要抓、两手都要硬!

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册