之前写的《webpack性能优化(0):webpack性能优化概况-优化构建速度》、《webpack性能优化(1):分隔/分包/异步加载+组件与路由懒加载》
webpack 打包分析有它就够了:webpack-bundle-analyzer
对于页面中引用 JS CSS 静态资源的处理,eBay 之前的主要模式是打包资源 每个页面中所需要的 JS 都打包为一个 JS 文件,放在页面的底部加载,CSS 也都打包为一个 CSS 文件,放在 h
当然要配vue-loader啊,.vue文件解析全靠他了。vue-loader的整体流程的分析可以参考我之前的文章:「.vue文件的编译」1. vue-loader@15.8.3 的整体流程
前端总结 html 字体图标的引用 添加到项目 项目下载到本地 加font文件夹,将字体文件放进去 将css文件加入到link中 雪碧图 先用一个 span 标签 将span标签display:inline-block 设置图标的background-position 外边距合并的问题 父元素没有边界线, 无法构成盒子模型 此时调子元素的margin值, 父子元素都会改变出错 解决方法: 给父元素加属性 overflow:hidden; 标签 for 属性应当与相关元素的 id 属性相
修改 CRA 项目的配置使用 create-react-app 创建的项目默认是无法修改其内部的 webpack 配置的,不像 vue-cli 那样可以通过一个配置文件修改。 虽然有一个 eject 命令可以是将配置完全暴露出来,但这是一个不可逆的操作,同时也会失去 CRA 带来的便利和后续升级。
1 背景 相信对于每个刚接触构建的同学来说, webpack 都是难以跨越的一道坎,它凭着抽象的概念、“言简意赅” 的文档,难倒了一众英雄好汉。 由于自己平时从零手写 webpack 配置的机会比较少,所以对 webpack 里的一些配置不都是特别清楚。 最近的一个需求需要给页面资源增加 md5 版本号,我正好借着这个机会,把项目里的 webpack 配置都重新梳理了一遍。 本文对于基本的配置概念(如 entry 、 output 等)就不一一赘述了,着重介绍的是 splitChunks 和 manifes
在传统的单 chunk 打包模式下,当项目代码越来越庞大,最后会导致浏览器下载一个巨大的文件,从页面加载性能的角度来说,主要会导致两个问题:
最近接手了一个基于 uniapp 的开发项目,我个人对于它能够使用同一套代码就能够开发 h5\app\小程序 的强大功能表示非常钦佩。但是其配置文件 pages.json 也让我十分郁闷,原因无他,只因其是写死 JSON 文件,在管理的时候是十分不便的。
联动列表框,简简单单的五个字,仅仅从字面上看,就可以分出来两个职责: 职责一:列表框 职责二:联动 我们先来看这两个职责,然后再说引申出来的另外两个职责。 职责一,列表框。列表框分为很多种,比如下拉列表框(DropDownList)、列表框(ListBox),还有为了美观用div模拟的,以及RadioBoxList,CheckBoxList等。首先一个问题就是,用哪种列表框,然后是其ID、name等属性的命名规范。然后是列表框是怎么出来的?是写死在body里,还是用js动态创建出来,还是其他的什么方式? 这
http://blog.csdn.net/mcpang/article/details/26612865
HTML5学堂(码匠):在原生JavaScript当中,存在默认的getElementsByClassName()方法,在不支持该方法的浏览器中,又应该怎么实现“通过类名获取标签”呢? 原生JS通过类名获取标签 getElementsByClassName()是原生JavaScript提供的方法,但是并不是所有的浏览器都支持,在ie早期版本的浏览器是不允许通过这个方法获取标签的,因此,需要自定义一个方法,使我们能够在每个浏览器下都能通过类名获取标签。 通过类名获取标签的思路 首先检测浏览器是否支持getE
有时候会做一些小的宽度变换, 比如居中到居左的变换, 例如上面的搜索的placeholder
本文通过介绍如何利用flex和letter-spacing实现过渡动画效果,以及介绍一些实现动画的方式。同时,文章还讨论了如何利用flex实现居中效果,以及如何利用letter-spacing实现宽度改变时字母间距不变的效果。但是,文章也提到了一些缺陷,例如中文和英文的宽度不同,需要使用不同的letter-spacing值,以及动画时间不可控等问题。此外,文章还介绍了一种通过改变容器宽度来实现过渡动画的方法,但是这种方法也存在一些缺陷,例如需要使用will-change属性来减少paint范围等。总的来说,这篇文章提供了一些实现过渡动画效果的技巧,但是需要根据具体情况进行选择。"
前言 快速排序是一个使用较为广泛的排序算法,它的时间复杂度为O(nlogn),网络上很多文章讲解的快速排序都不太符合规范,本文以图文的形式详细讲解快速排序,并用JavaScript将其实现,欢迎各位感
前段时间,我做了一个node模块node-multi-worker ,希望通过这个模块让node能够脱离单线程的限制,具体的使用可以看一下上面的链接。其思路就是注册任务后,分出子进程,然后在主进程需要执行任务时,向reactor子进程发送命令,而reactor收到命令后分配到worker子进程在执行完成后返回结果到主进程。这篇文章主要是为了跟大家分享一下我在开发过程中,遇到的一个问题,如何解决以及对相关知识的一个挖掘。
我们都知道,各大编辑器的默认代码配色都是很单一的,或者说色调相近。其缺点其一就是难以阅读,变量名、函数名、方法名等等,当这些代码不能一眼就区分出是什么,就会大大降低自身代码阅读能力;其二是阅读疲劳,通常编辑器的背景都是白色,长时间盯着一大片刺眼的白色,眼睛长时间盯着很容易疲劳。
新人们找个好玩的来练练手如何?虽然不是专职搞web的做过几个代码简陋,只有几十行然而做出来的感觉甚是开心,也希望各位新入门的开发者可以拿去做个小游戏玩玩看。
将素材目录下的index.html页面,拆分成三个文件,分别是:index.css,index.js,index.html
最近有测试和 local 投诉,我们后台管理系统的登录页面经常要加载很久,常常会出现页面已经显示出来了,但是点击登录毫无反应,直到全部加载后才能登录。于是,他们提出让我们去优化。
最近有测试和 local 投诉,我们管理系统的登录页面经常加载很久,常常会有页面已经出来了,但是点击登录毫无反应,直到全部加载后才能登录。于是,他们提出让我们去优化。
我的截图插件js-web-screen-shot,在三年的时间里,经历了从1.0.0到1.9.9的版本迭代。随着功能的不断增加,原本的入口文件变得越来越复杂和混乱,代码行数已接近1500行。
交易是web3的灵魂,注意力是web3的最核心资源,价格是簇拥的起点,价值是时间的终点。
目前在开发一个工程项目,考虑到可扩展性和功能解耦,将每个功能模块都单独拆分出来。在正式使用、单独维护某个功能包的时候没什么问题,最为头疼的是联调两个功能模块的时候,就比较掣肘了。
在使用Excel的时候,发现它的“智能填充”功能非常有趣,能够智能地分析我当前的内容,然后准确预测出我期望得到的值。排除了AI的加成,发现这个功能其实也可以通过数学理论和简单代码来实现。经过一番折腾,终于用JS实现了大致的功能,然后我把它名为 smart-predictor。
曾经我和前端朋友聊天的时候,我说我希望有一天可以用C#写前端,不过当时更多的是美好的想象,这一切正变得真实……
由于最近的reactjs实在太火,而且距离第一版已经快2年的时间了,已经相对稳定和成熟了,基于这两个前提下,团队对reactjs及其他开源技术进行了相关调研,发现落地是可行的,我们有4名前端同学,从调
一行神奇的js代码,当时我就震惊了,这不就是传说中的ZB神奇么… … 哈哈。写本篇文章的缘由是之前看到了一段js代码,如下:
公司内部的 NPM 因为一些固有的 bug 经常被吐槽,最近刚好有时间可以来做优化,然后就尝试解一下之前遇到的一个 publish 的 bug,下边是分析记录。
早期单进程架构是页面渲染和网络下载都是运行在同一个浏览器主进程中,而dom/com解析,js脚本执行,图像输出,插件运行都运行在同一个线程中,这样也带来了一系列的问题:
代码在内存中的'形状' http://zoo.zhengcaiyun.cn/blog/article/code-shape
前言 微信小程序是一个工程,就和盖房子一样,打好了地基,才能保证后续工程师建立在可靠牢固的基础上。 笔者需要经常新建项目,每次都要重复“修改项目结构 -> 从老项目中复制粘贴文件 -> 删除一些老项目
因为公司缺一个系 Web 管理系统的开发,我决定挑一个技术栈来学习一下,然后自己来写。我选择了 Node.js+Express+AngulaJS+MongoDB 这一条技术栈,花了将近两周的时间,做了很多小 demo,写了一系列博文,终于基本熟悉了 Node.js、Express、AngulaJS、UI Bootstrap、CSS、HTML、MongoDB、Mongoose 等内容,觉得可以开始写我的 Web 管理系统了。 兴奋啊,让兴奋飞一会儿。 之前公司有来过一个从没做过开发的同事,在学习与实践的路上
vite2已经出来一段时间了,这几天没忍住尝试了一下,首先体验到的就是 —— 快,真的很快,再也不用痛苦的等待了。
程序员怎样新学一门技术 因为公司缺一个系 Web 管理系统的开发,我决定挑一个技术栈来学习一下,然后自己来写。我选择了 Node.js+Express+AngulaJS+MongoDB 这一条技术栈,花了将近两周的时间,做了很多小 demo,写了一系列博文,终于基本熟悉了 Node.js、Express、AngulaJS、UI Bootstrap、CSS、HTML、MongoDB、Mongoose 等内容,觉得可以开始写我的 Web 管理系统了。 📷 兴奋啊,让兴奋飞一会儿。 之前公司有来
过去一年,编程语言也要决出这一年的最佳语言,会是谁呢,从 TIOBE 上来看,Java、C 和 Python 基本锁定了前三的位置,Java 江湖老大的地位,还是无人能撼动呢。
因为公司缺一个系 Web 管理系统的开发,我决定挑一个技术栈来学习一下,然后自己来写。我选择了 Node.js+Express+AngulaJS+MongoDB 这一条技术栈,花了将近两周的时间,做了很多小 demo,写了一系列博文,终于基本熟悉了 Node.js、Express、AngulaJS、UI Bootstrap、CSS、HTML、MongoDB、Mongoose 等内容,觉得可以开始写我的 Web 管理系统了。 兴奋啊,让兴奋飞一会儿。 之前公司有来过一个从没做过开发的同事,在学习与实践的路上遇
程序的执行有几种套路:顺序执行、判断执行和循环执行。我认为的程序其实就是一个个或好或差的单元组成的大单元,计算机对这个大单元进行执行计算的过程。既然这个计算有过程,那肯定就有时间消耗。写的差的程序执行时间就长,写的好的程序执行时间就短。
所见不一定即所得 眼睛是心灵的窗户,也是蒙蔽你的一种途径。 假设,我给你一张图片,你觉得肉眼可以观察到全部的细节吗? 屏幕上一张清晰的图片 肉眼在屏幕上看到图片的清晰度由三个因素决定,一是图片像素本
因为云函数提供了定时预置并发功能, 可以更加灵活的为不同时间段的请求动态设置预置并发,减少了闲置预置并发的费用。为了帮助用户得到云函数的一个相对合理的预置并发数量的配置,提供了方便的计算脚本: SCF-provisioned-concurrency. 使用此脚本,用户只需要对基本的数据资料进行填充,即可得到一个基于云函数并发请求量计算出来的预置并发的参考配置。 提供了:
如何写出可维护和可读性高的代码,这一直是一个困扰很多人的问题。关于变量如何起名、如何优化 if...else 之类的小技巧,这里就不做介绍了,推荐去看《代码大全2》,千书万书,都不如一本《代码大全2》。
WebGL 和 Node.js 中都有 Buffer 的使用,简单对比记录一下两个完全不相干的领域中 Buffer 异同,加强记忆。
不过话说来,很多人都认为前端无非就是 HTML+CSS+JS,一个目录一类文件,有何架构可言。但是我想说。。。。你说的都对!
容器有很多种,有特性和共性,我们对共性进行不断的向上抽取,就形成了一个体系,这就是集合框架
遇到一大堆复杂的问题时,直接上手解决的话是非常困难的。面对这种情况,我们可以将这个大问题细分成许多小问题,逐一的去研究解决这些小问题,累积下来,这个大问题也会被我们解决。
一、vuex 文件夹结构 在 src 下面新建一个名为 store 的文件夹,里面存放所有有关 vuex 的代码 在 store 文件夹下面创建一个 index.js 文件夹,存放 store 的入口文件,也就十顶级模块代码 把 mutations actions getters 把他们单独抽离出来放到各自的 js 文件里面使用默认导出 ├── index.js store 入口文件,也是顶级模块 ├── mutations.js 存放 mutations ├── actions.js 存放 actio
-----------------------正文----------------------------- 首先,目录结构依然如下: 按配置顺序来说: store.js(有时也命名为index.j
首先,目录结构依然如下: 按配置顺序来说: store.js(有时也命名为index.js)页面 store配置主要分以下几大块: 第一,引入依赖 vue和vuex不用说,getters、action
领取专属 10元无门槛券
手把手带您无忧上云