对于一份同逻辑的代码,当我们手写了一个个的文件,它们无论是 ESM 还是 commonJS 或是 AMD,他们都是 module; 当我们写的 module 源文件传到 webpack 进行打包时,webpack 会根据文件引用关系生成 chunk 文件,webpack 会对这个 chunk 文件进行一些操作; webpack 处理好 chunk 文件后,最后会输出 bundle 文件,这个 bundle 文件包含了经过加载和编译的最终源文件,所以它可以直接在浏览器中运行。 一般来说一个 chunk 对应一个 bundle,比如上图中的 utils.js -> chunks 1 -> utils.bundle.js;但也有例外,比如说上图中,我就用 MiniCssExtractPlugin 从 chunks 0 中抽离出了 index.bundle.css 文件。
如果使用的是butterfly主题,hexo-neat会与主题的各类配置本身起冲突,如果有压缩静态页面资源的需要,可以参考Hexo博客静态资源加速的相关内容。
对于任何一个网站来说,优化页面的访问速度是必须的,个人来说,只要加载页面十秒以上或长时间处于空白或加载状态,我会立刻关掉此页面的。你又能容忍几秒呢?
想一想如果没有这个工具,我们需要手动新建一个压缩代码后的文件夹,每次修改原始文件,都要手动压缩一下,再保存到压缩后的文件夹,想想都要疯掉。所以,grunt前端必不可少。
什么是Rollup rollup.js是Javascript的ES模块打包器,我们熟知的Vue、React等诸多知名框架或类库都通过rollup.js进行打包。与Webpack偏向于应用打包的定位不同,rollup.js更专注于Javascript类库打包(虽然rollup.js也可以提供资源打包,但显然这不是它的强项)。在我们学习Vue和React等框架源码或者自己编写Javascript类库时,rollup.js是一条必经之路。 Rollup 的好处 Tree Shaking: 自动移除未使用的代
前两天为了优化公司的代码打包项目,恶补了很多 webpack4 的知识。要是放在几年前让我学习 webpack 我肯定是拒绝的,之前看过 webpack 的旧文档,比我们内部项目的文档还要简陋。
var 是全局作用域,往windows里面写入,可先使用后声明,也可重复定义不建议使用
js我用的是UglifyJS github地址:https://github.com/mishoo/UglifyJS
有朋友说,outils官方有min.js:https://www.npmjs.com/package/outils
YUI Compressor Maven插件可以压缩/合并js或css文件,经常用在Maven项目中,但最近发现在wabapp中执行了 mvn install 命令进行发布之后,终端中显示插件已经执行了压缩的动作,但在输出文件夹或者war包中js和css文件都还是未压缩的原始文件。
一款基于Google Closure compiler压缩Js文件插件。 快捷键: Ctrl+Alt+M 当前文件内压缩Js代码(不推荐) Ctrl+Alt+Shift+M 压缩Js并生成压缩文件 *.min.js 安装成功重启,如果报错,在配置里改一个参数,"compiler": "uglify_js", { // the closure compiler adds new lines every 500 characters // for some proxie
http://yujiangshui.com/grunt-basic-tutorial/
gulp能够帮助用户自动压缩静态资源,配合各类下属插件,能够压缩包括css、js、html乃至各类格式的图片文件。(图片文件的压缩往往只能节省几十KB,效果远远不如imagine、tinypng等压缩方式,所以此处不再写使用gulp压缩图片的内容)。
当前,前后端分离大行其道,我本人之前不少项目也是纯前后端分离,但总有些场景,春前后端分离整起来比较痛苦,比如我手头这个公众号项目吧,它涉及到第三方鉴权,第三方凭证,以及微信凭证这些,都不适合放到前端去做,外加一些本身业务层面的认证授权,这些终归是放服务端处理合适一些的。另一层面原因,是不想系统所有功能全怼到一个SPA中,还是希望不同功能模块,去拆分到不同页面中的, 俗称的多页。
之前试过了很多Hexo主题,但是都不太合胃口,就又又又转回了Next这种简单简约的主题。我的博客搭建在GitHub上,使用Vercel加速,完全白嫖真的快乐。
如果我们打包的⽬的是⽣成⼀个供别⼈使⽤的库,那么可以使⽤ output.library 来指定库的名称,库 的名称⽀持占位符和普通字符串: output.libraryTarget
之前上传图片很大没怎么理会,手动调一下,最近发现在手机上查看没法自适应,很是烦,便想着改掉这个问题。
注意该方法利用插件更改配置,如主题中有Google字体导致加载缓慢,请移步其他内容
Prism是一款非常好用的前端代码高亮插件,很多开发者搭建的文章、博客分享网站中都使用到了prism.js来做代码高亮,但是在官网的下载网站选完了主题和插件后却犯了难:如果选择语言包,如果全选那么体积将近600kb如果选少了害怕以后不够用,还要来补。其次,基本上只有语言包支持Node.js环境,插件基本都是基于DOM实现没有对Node.js环境进行兼容。于是有了一个想法:通过API接口将语言包动态返回,根据前端传来的参数,主题+语言包+插件拼接后返回给前端的script和link标签。
YUI Compressor 是一个用来压缩 JS 和 CSS 文件的工具,采用Java开发。
阅读统计和访客统计使用的都是不蒜子,因为使用的是NexT主题,只需要添加一下配置就可以了。
一、简介 YUI Compressor,专用于压缩js和css文件,可以有效降低js和css文件占用的空间; 如,将使用YUI Compressor压缩过的js和css文件部署到网站的生产环境,有效降低浏览器下载相关资源的时延,提升用户体验。
这篇文章,我现在回头看2021-02-20我都不知道我在写啥😂 所以有问题还请多包涵 前言 一切的一切只能从一只蝙蝠开始说起。 很不幸的事情,我们广东在2020-05-11就准备错峰开学了(而初三或者高三就在2020-04-27号开学) 不过这些不是重点,反正开学就开学了,劳资巴不得开学!呆在家里累的一批,出去玩还要带口罩麻烦…… 这次就是闲的慌,打算把我博客里面的看板娘(那个可调戏的2233),扒到我的桌面上,作为互动。 因为我的桌面已经是可以互动了,只是不能鼠标互动233 image.png (不
1、jQuery的版本下载网址:http://www.jq22.com/jquery-info122
依赖 yarn init yarn add --dev babel-eslint@10.0.3 yarn add --dev eslint@6.7.1 yarn add --dev eslint-config-alloy@3.7.1 yarn add --dev eslint-config-prettier@6.10.0 yarn add --dev eslint-plugin-prettier@3.1.4 yarn add --dev prettier@2.0.5 yarn add --dev prett
可以查看某个关键词的搜索量排名方式; 1.百度指数; 2.Google Trends ; React下载文件说明 ---- React核心文件,JSX编译文件,React插件文件; ---- 编辑器: CodeKit,sublime text2/3(推荐使用) ,Emacs,vim sublime text 3 插件优化: 编辑器插件:Emmet,Html-css-js Prettify, Spacegray模板 百度搜索: Package Control ,复制代码,安装这个包管理器; 安装后,重新启动
现在网络上大部分公益项目都为 jsDelivr 提供镜像加速,此时用户的资源文件必须从源服务器经 jsDelivr 再绕过公益服务才能回到用户手上。本身 jsDelivr 也回源 GitHub 和 NPM,那么为什么不从源拉起?
在我们介绍了Husky、Commitlint之后,来看一个前端文件过滤的工具Lint-staged,代码的格式化肯定会涉及到文件系统,一般工具会首先读取文件,格式化操作之后,重新写入。对于较大型的项目,文件众多,首先遇到的就是性能问题,虽然如Eslint之类的也有文件过滤配置,但毕竟还是对于匹配文件的全量遍历,如全量的.js文件,基本达不到性能要求,有时还会误格式化其他同学的代码,因此我们引入Lint-staged,一个仅仅过滤出Git代码暂存区文件(被committed的文件)的工具。
一. 认识 (1) jQuery 文件有两个常用版本:一个是 1.x 版本,另一个是 3.x 版本。3.x 版本是目前的最新版本,与 1.x 版本有着相同的 API。1.x 版本兼容 IE6、IE7 和 IE8,而 3.x 版本不兼容 IE6、IE7 和 IE8。
现在在做的项目是一个对功能要求比较高的项目,同时也有SDK端的开发.项目中有一个场景就是在pc端通过富文本编辑的内容要在SDK端显示,测试的时候发现有一些图片超出了手机的最大宽度,会出现一个横向的滚动条,这样很影响体验.做显示这块的是公司做android和ios的同事,他们拿到的值富文本直接导出的json格式的html代码,因此他们很难再对代码进行二次处理,解决问题的源头又回到了我这里~~ 言归正传,想要解决问题就要从标签的style属性着手;本人在追踪数据流的时候发现了在导出编辑器内容的时候会把编辑器内容全部遍历一次的地方,遍历的数组大概就长这样(这其实是遍历之后的,理解我的意思就行)
Chunk 不同于 entry、 output、module 这样的概念,它们对应着 Webpack 配置对象中的一个字段,Chunk 没有单独的配置字段,但却出现在 CommonsChunkPlugin(Webpack3 以前)、optimization.splitChunks(Webpack4 以后)这样的名称之中。
这是我们部门前端同学cobish的学习笔记,笔者编辑了一下并分享给大家。 在使用 Grunt 之前,项目静态文件几乎没进行压缩合并便直接放到线上,部分文件手动复制粘贴到某压缩网站进行压缩。没压缩合并的
最近,在开发Node项目过程中遇到了需要类jQuery深拷贝对象的问题,去Github找了半天,并没有符合的,于是,自己决定写一个(mixin.js),然后推送到NPM(查看Npm相关内容,请查看<npm模块管理器>),下面是整个流程,在此记录~~~
简介 这篇文章主要介绍了Maven压缩插件YUI Compressor使用介绍以及相关的经验技巧,文章约18810字,浏览量165,点赞数5,值得参考!
const TerserPlugin = require('terser-webpack-plugin');
一、原生 ajax 1、无特殊要求 2、实例代码 //没有用到jquery的Ajax //将xmlHttpResquest对象方法封装起来, var createXhr = function () { var xhr = null; if (window.XMLHttpRequest) { xhr = new XMLHttpRequest(); } else { xhr = new ActiveXObject("Microsoft.XMLHtTP"
Github下载地址:HaoOuBa/Joe: A Theme of Typecho (github.com)
JQuery实际是JavaScript的一个框架,可以用来简化JS的开发。截取下百度百科给出的概念:
Gulp 是基于定义的每个任务或任务组合来完成的一款构建工具,任务函数的编写一定的由于配置的体验,另外它基于 node 中强大的流的能力,可在内存中集中处理后再存入磁盘,加速构建。
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
文档地址 github下载源码直达链接 复制dist文件夹中的 .min.js 和 .wxml文件到项目中
什么是 gulp 简单的讲,gulp 是一个构建工具,一个基于流的构建工具,一个 nodejs 写的构建工具,使用 gulp 的目的就是为了自动化构建,提高程序员工作效率😂。 入门指南 全局安装 gulp: $ npm install --global gulp 作为项目的开发依赖(devDependencies)安装: $ npm install --save-dev gulp 在项目根目录下创建一个名为 gulpfile.js 的文件: var gulp = require('gulp'); // 默认
1、jQuery优点 轻量级,强大的选择器,出色的DOM操作,可靠的事件处理,完善的Ajax,不污染的顶级变量,出色的浏览器兼容,链式操作,隐式迭代,行为层和结构层分离,丰富的插件,完善的文档,开源 2、类型说明 Jquery-*.js完整的版本,主要用于测试和学习开发 Jquery-*.min.js主要用于产品和项目 3、引入jquery开始学习 <script src=”jquery-1.7.2.js” type=”text/javascript”></script> 4、JQuery宗旨 用少量的代码
在了解jQuery对象和JS对象之间的区别和转换前,我们先对jQuery框架进行一个简单的入门。
bootstrap版本用的是v3.4.1 jquery版本3.2.1 bootstrap-select 版本用的是v1.12.4
gulp能够帮助用户自动压缩静态资源,配合各类下属插件,能够压缩包括css、js、html乃至各类格式的图片文件。
对于我的博客来说,我的全部静态文件都在GitHub上,并且使用jsdeliver加速引用。因此对我来说真正压缩的其实也就是html。
在项目的前端开发中,对于绝大多数的小伙伴来说,当然,也包括我,不可避免的需要在项目中使用到一些第三方的组件包。这时,团队中的小伙伴是选择直接去组件的官网上下载,还是图省事直接在网上搜索,然后从一些来源不明的地方下载,我们就无法管控了。同时,我们添加的组件间可能存在各种依赖关系,如果我们没有正确下载引用的话,到最后可能还是无法正常使用。
今天分析了几款网站爬虫开源工具,其主要作用是辅助安全测试人员,测试网站功能,发现网站漏洞,本着学习的原则,通过阅读源码的方式来学习其核心技术,从而有助于我们自身编写相关脚本,在实际的工作中应用它来提升工具效率。
领取专属 10元无门槛券
手把手带您无忧上云