前段时间,在公司做了个 Webpack 的分享。听众40多人,感觉还不错。所以总结一下,先看一下ppt的目录:
大家在看webpack源码的时候,有没有感觉像再看天书,似乎没有办法一个文件比如webpack.js从头看到尾。感觉webpack的跳跃性很强,完全不知道程序在运行的时候,发生了什么。完全不清楚这个事件是什么时候发生的,比如loader是什么时候执行的,plugin又是什么时候出现的。webpack的程序错综复杂,完全迷失在程序之中。这究竟是为什么呢?其实很简单!因为webpack的灵魂Tapable!这个机制使得webpack异常的灵活,它有一句经典的话——Everything is a plugin!。由此可见webpack是靠插件堆积起来的。而实现这个插件机制的就是Tabable!
很荣幸作为前端专题讲师参加2016年SDCC,与周爱民老师同台,听业界牛人的分享真是受益匪浅。对我来说是第一次在如此规模的专题论坛上演讲,全程紧张的要命,提前准备好的内容有很多因为紧张没有讲出来。此次
插件官网地址: https://nklayman.github.io/vue-cli-plugin-electron-builder/
当时疫情比较严重,全国封闭,公司很快就宣布在家办公,并且特地说明了不用担心隔离14天赶不上上班~
这是山月关于高级前端进阶暨前端工程系列文章的第 M 篇文章 (M 随便打的,毕竟也不知道能写多少篇),关于前 M-1 篇文章,可以从我的 github repo shfshanyue/blog[1] 中找到,如果点进去的话可以捎带~点个赞~,如果没有点进去的话,那就给这篇文章点个赞。。今天的文章开始了
(给全栈前端精选加星标,提升前端技能) 原文地址:https://juejin.cn/post/6911472693405548557 作者:贩卖焦虑 前言 性能优化 ,每个工程师跑不掉的一个话题。
前端爱好者的知识盛宴 此干货供稿者乃鹅厂大神--樊东东 当小编提出能否将其干货文章发表在公众号上时 大神一口答应并发出爽朗的笑声 嘻嘻嘻... 还送上了其前端开发者github的200star整理的文档 小编小心翼翼的收下 并附在了原文链接中! 各位技友各取所需~ 正文 web前端发展路程 web页面最开始都是一个个静态页面,再加上些动态效果,但资源都是静态的。人们想根据需要,不同的用户、不同的场景生成不同的页面,这就有了asp、jsp等动态页面生成技术,这个时候的web开发者基本前后端一起写。 ajax
作者:俊劫 https://juejin.cn/post/6942988170208215076
最近在做季度总结和技术分享,所以需要做个PPT, 来回顾这半年来的技术贡献. 但苦于mac上运行PPT那感人的流畅度, 成功的激起了笔者的强迫症, 所以索性想办法通过技术的手段来做个网页版PPT, 这个时候笔者发现了reveal.js: 一个使用 HTML 语言制作演示文稿的 Web 框架,支持插入多种格式的内容,并以类似 PPT 的形式呈现. 花了15分钟系统的调研了一下, 觉得基本满足技术分享类PPT的要求, 所以决定采用该方案来实现我的网页版PPT. 这里列一下笔者的技术调研方法论, 供大家参考:
内容讲述了HTML,CSS和JavaScript文件从代码到浏览器中图形的基本过程,实际上每个阶段正好代表了高级前端工程师可以选择的三大细分方向——架构师,工程化,图形学。PPT基本上全是图,引用了一些知名的前端神图,大部分都是自己一点点做的,毕竟图的表现力比文字要生动直观一些,原稿几乎每一页都加了备注!!!,有需要的可以在我的博客或者GDG西安官方公众号获取到。
前端爱好者的知识盛宴 今天的技术提供者是鹅厂的folgerfan。 给大家分享的Node直出的技术... Node直出,设计出来就是为了, 更快更流畅的浏览体验... 小编把它誉为前端界的特斯拉... 一个字——快! 最后会有提供者的专属思考, 欢迎留言、转发! 以及提问供稿者! 马上去片! 服务器直出的诞生史 web页面最开始都是一个个静态页面,再加上些动态效果,但资源都是静态的。 人们想根据需要,不同的用户、不同的场景生成不同的页面,这就有了asp、jsp等动态页面生成技术,这个时候的web开发
内容来源:2017 年 3 月 11 日,携程研发高级经理古映杰在“携程技术沙龙 | 新一代前端技术实践”进行《IMVC(同构 MVC)的前端实践》演讲分享。IT 大咖说(微信id:itdakashuo)作为独家视频合作方,经主办方和讲者审阅授权发布。 阅读字数:2738 | 7分钟阅读 摘要 随着 Backbone 等老牌框架的逐渐衰退,前端 MVC 发展缓慢,有逐渐被 MVVM/Flux 所取代的趋势。然而,纵观近几年的发展,可以发现一点,React / Vue 和 Redux / Vuex 是分别在
下面会从基本使用开始出发,探究一个loader怎么写,并实现raw-loader、json-loader、url-loader、bundle-loader
导语 | 若你对webpack仅仅是处于使用阶段,觉得webpack原理太杂太乱太多,但是觉得大概了解下webpack的大致原理也不错。亦或是想要了解分包优化如何进行配置呢?以及为什么webpack官方分包配置会从 CommmonsChunkPlugin演变成SplitChunksPlugin呢?我按照自己的方式,通过查阅、整理相关文档,梳理一些比较容易让大家纠结的点,让大家通过本篇文章,大概了解webpack是干了什么? 一、webpack前生今世 (一)前端石器时代----->工业化时代 前端变迁转折
美国时间 2021 年 10 月 7 日早晨,This Dot Media 邀请了 Vue 的核心成员和 Vue Community (例如 Quasar, Ionic 开发者等)的一些主要贡献者举办了一个 Vue Contributor Days 在线会议,长达两个半小时,会上 vue-cli 的核心贡献者胖茶也在同一天公开了全新的脚手架工具 create-vue[1],我也是看到 antfu 发推就关注了一下,看完直播回放[2]之后收获很大,这里做一些总结并且分析一下最新发布的 create-vue 的源码。
ViteConf 2022 于 10 月 11 - 12 日举行。Vue 和 Vite 的作者尤雨溪发表了名为《How Vite Came to Be》的主题演讲。下面就来回顾一下这场演讲,看看 Vite 是如何诞生的!
什么是 AST?AST 是 Abstract Syntax Tree 的首字母的缩写,中文名称为:抽象语法树抽象语法树本质上就是一个 JS 对象,以字符串的视角,将 Html 标签 解析为 JS 对象渲染函数(h 函数),既是 AST 的产物,也是 vnode 的起源h('div', { attrs: { className: 'box' } }, [ h('ul', {}, [ h('li', {}, '1'), h('li', {}, '2'), h('l
摘要 通过对压缩器、打包工具,以及模板引擎处理的讲解,来更深入的理解编译时优化是如何作用的。同时详细介绍了Vue是如何处理编译时优化的。以及未来前端领域在编译时上能做出那些更出色的优化。 嘉宾演讲视频及PPT回顾:http://suo.im/4TcEw 前端开发编译现况 在一段时间之前前端是没有编译这回事的,大部分人都是打开一个页面就开始写。但是随着前端越来越复杂,开发前端时新增的部分越来越多,NodeJs、Webpack、BABEl等变得必不可少,同时Css也要进行预处理。到了现在编译已经成了前端开发中不
目录 ---- 首先我们先来看一下文章的分区,以方便我们进行检索。 PS: 内容超长,请注意! 前言 目录 入门类 HTML 5 部分 CSS 3 部分 JQuery Angular JS React Vue Node JS JS Template 移动端 移动端 API 综合 API 其他 API 综合类 工具类 综合效果搜索平台 团队 BLOG 开发中心 ECMAScript D3 RequrieJS SeaJS Less & Sass Markdown 兼容性 UI相关 图表类 正
2019年8月17日,第三届TLC大会在科兴科学园国际会议中心完美落下帷幕。作为一年一度的技术盛会,本次大会云集国内外19名技术专家,现场参会人数超过600人,线上直播(腾讯直播)人气6000+。宣传覆盖40+媒体及技术平台,线上曝光10w+,社区全覆盖。
对于 Loader 来说,影响打包效率首当其冲必属 Babel 了。因为 Babel 会将代码转为字符串生成 AST,然后对 AST 继续进行转变最后再生成新的代码,项目越大,转换代码越多,效率就越低。当然了,这是可以优化的。
前几日听到一句生猛与激励并存,可怕与尴尬同在,最无奈也无解的话:“90后,你的中年危机已经杀到”。这令我很受触动。显然,这有些夸张了,但就目前这日复一日的庸碌下去,眨眼的功夫,那情形就会在这骨感的现实面前,悄然的被显现。所以,越发体验到,当必要有计划的去做,去写,去玩,去嗨,利用好这荷尔蒙分泌还算旺盛的时光,去厚积去博取,去发现去折腾;让自己的生命不在仅是工作与惆怅,还有时间分与“诗和远方”。不用分析,就知道这该如何去做,高效去完成工作,然后去学着优雅地生而活。目前犹身为前端开发者,且在使用 Vue,那么就有了此文;这不仅是纪录或分享,也是在漫漫之路上下求索,更希望能探讨和指点,以资见识,提升其效。
前一阵看到同事在用一个名叫 AirFlow 的工具,而我竟然素未耳闻,一番搜索之后发现这个工具是 Apache 的顶级项目,而且在 GitHub 上有 1w+ 的 Star。震惊之余,感觉有必要把 GitHub 上常用工具捋一遍,以避免以后发生重复造轮子的情况。计划是把 GitHub 上 5k+ Star 的项目都知道是做什么用的,每周看 50 个,数据来源是这里:https://gitstar-ranking.com/repositories。
前几日听到一句生猛与激励并存,可怕与尴尬同在,最无奈也无解的话:“90后,你的中年危机已经杀到”。这令我很受触动。显然,这有些夸张了,但就目前这日复一日的庸碌下去,眨眼的功夫,那情形就会在这骨感的现实面前,悄然的被显现。所以,越发体验到,当必要有计划的去做,去写,去玩,去嗨,利用好这荷尔蒙分泌还算旺盛的时光,去厚积去博取,去发现去折腾;让自己的生命不在仅是工作与惆怅,还有时间分与“诗和远方”。不用分析,就知道这该如何去做,高效去完成工作,然后去学着优雅地生而活。目前犹身为前端开发者,且在使用 Vue,那么就
大家好,我是「柒八九」。一个「专注于前端开发技术/Rust及AI应用知识分享」的Coder
用powerpoint或者keynote写演示文稿,对于代码、数学公式等的支持一直是个痛点。而且对于前端同学来说,一身的css功力用不上也是个痛点。对于使用markdown来写文档的同学来说,将文档转成ppt需要重新排版也是件重复性的工作量。
讲师先是介绍了 flutter, 接着讲了腾讯企鹅辅导上的实践, 包括了安卓, iOS 和 Pad 上的原生应用如何嵌入 flutter 以及原生页面与 flutter 页面混合切换的实践, 另外还讲了 flutter 的性能优化与 flutter for web 在生产环境的实践. 这里边的技术细节限于篇幅就不再赘述, 感兴趣的可以到公众号回复 tweb 领取 ppt.
前一阵看到同事在用一个名叫 AirFlow 的工具,而我竟然素未耳闻,一番搜索之后发现这个 工具是 Apache 的顶级项目,而且在 GitHub 上有 1w+ 的 Star。
我在其中发现了多个内部域名,最后通过 这些内部域名,结合接下来要讲的方法, 成功发现了多个漏洞。
《IMWeb前端月刊》会定期收集每月 IMWeb.io 社区精选好文、前端新闻、版本发布、技术大会,欢迎大家订阅。 IMWeb.io 社区精选好文 从渲染原理到性能优化 或许你正在使用或者了解了React,但你研究过它内部的渲染原理吗?文章详细讲述了react如何根据JSX生成element,element又如何生成真实DOM节点,并通过实际例子,讲解了如何优化组件。 网站性能优化实战 文章详细讲述了浏览器的架构与内核,探究了浏览器渲染机制、事件机制,并由此引出了网站性能优化的方案。 你不知道的 Elect
讲真,的确是运气,才有机会进大厂。也没想到,那篇一年半工作经验试水杭州大厂的面经如此受欢迎。后面也有很多朋友在群里问我,你是如何学习的?
👆点击“博文视点Broadview”,获取更多书讯 有这样一本书,100本书都没有讲明白的事情被它说清楚了! 有这样一本书,将实用的职场晋升技巧全盘分享给你,教你如何在互联网大厂从P5到P9! 有这样一本书,可以让作为前端工程师的你学会像架构师一样思考问题! 有这样一本书,将线性代数与生活案例结合,让学数学不再是啃天书,是你考研复习的绝佳帮手! …… 8月新书,继续好书不断!快来看看都有哪些书吧~~ ---- 01 ▊《编程卓越之道(卷3):软件工程化》 [美] Randall Hyde(兰德
在上一节中我们初步了解了webpack可以利用内置静态模块类型(asset module type)来处理资源文件,我们所知道的本地服务,资源的压缩,代码分割,在webpack构建的工程中有一个比较显著的特征是,模块化,要么commonjs要么esModule,在开发环境我们都是基于这两种,那么通过webpack打包后,如何让其支持浏览器能正常的加载两种不同的模式呢?
在我们使用 webpack 的大部分项目中,都需要使用 webpack.config.js 来配置 webpack。
上一篇文章介绍了webpack对commonjs模块的支持(如果你还没读过,建议你先阅读),这篇文章来探究一下,webpack是如何支持es模块的。
接 Webpack 打包 commonjs 和 esmodule 模块的产物对比 继续,这篇文章来测试下 commonjs 模块和 esmodule 混用的情况,也就是 import 导入 commonjs 的模块,require 导入 esomodule 的模块,看一下它们在 Webpack 下的产物。
作者:HelloGitHub-小鱼干 摘要:GitHub Trending 上周看点,GitHub 官宣 CLI 已发布 beta 版,前端新晋高性能打包神器 esbuild 宣战 Webpack&P
前端的构建打包工具很多,比如grunt,gulp。相信这两者大家应该是耳熟能详的,上手相对简单,而且所需手敲的代码都是比较简单的。然后webpack的出现,让这两者打包工具都有点失宠了。webpack比起前两者打包工具,对于前端程序员JS编程能力的要求还是挺高的。不过需要兼容ie8及以下的小伙伴们,就不要考虑webpack了,他很傲娇地不兼容!
前端的框架变化实在是太快了,当你还活在JQuery的年代,了解着bootstrap时候,有人已经在玩AngularJS了,而更有人已经开始玩React了,再甚至已经出现Vue来结合AngularJ
Webpack 是一个模块打包器,可以将多个模块打包成一个或多个文件。除了基本的打包功能外,Webpack 还提供了很多高级功能,可以优化打包结果、提高构建速度等。在本文中,我们将介绍 Webpack 的一些进阶使用技巧,并提供相应的代码示例。
删除掉没用到的 __webpack_require__.d、__webpack_require__.r、 __webpack_require__.t、__webpack_require__.n 、__webpack_require__.o 、 __webpack_require__.p,剩下的代码如下:
在webpack中既可以书写commonjs模块也可以书写es模块,而且不用考虑浏览器的兼容性问题,我们来分析一下原理。
本质上,有两种构建JavaScript应用程序的模式:开发和生产。以前,您已使用开发模式在本地开发环境中开始使用Webpack Dev Server。您可以更改源代码,Webpack再次将其捆绑,Webpack Dev Server会在浏览器中向您显示最新的开发版本。
领取专属 10元无门槛券
手把手带您无忧上云