抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

PuppeteerPuppeteer 是 Google Chrome 团队官方的无界面(Headless)Chrome 工具。Chrome 作为浏览器市场的领头羊,Chrome Headless 将成为 web 应用 自动化测试 的行业标杆 Headless浏览器是指没有窗口的浏览器 用处通过 Puppeteer 我们可以让浏览器帮我们自动完成很多事情, 例如 : 生成页面的截图或者P...

原生 node 用 process.argv 直接读取 process.stdin.on 劫持输入 readline 模块 进行逐行读取。该模块提供了一个接口,用于一次一行地读取可读流(例如 process.stdin)中的数据12345678910111213141516171819202122const app = require('./app')const read...

几乎完全转自 一篇文章搞定 babel-plugin-import 插件 ,可以理解为 读后 & 自己敲一遍 的笔记,建议直接读原文章 Background我们用 element-ui 或 antd 的时候,样式都支持全局引入和按需引入。按需引入需要安装一个 babel-plugin-import 的插件,将全局的写法变成按需引入的写法。其实也是用了AST语法树转换的原理,实现 12...

TODO:还有这篇 字节分享几乎完全转自 AST 团队分享 ,可以理解为 读后 & 自己敲一遍 的笔记 What & Why What: 抽象语法树(Abstract Syntax Tree,简称 AST)是源代码的抽象语法结构的树状表现形式 Why: webpack、eslint 等很多工具库的核心都是通过抽象语法树来实现对代码的检查、分析等操作 浏览器就是通过将 js 代...

基本篇对webpack的看法webpack是一个模块打包工具。可以用webpack管理我们的模块依赖,并编绎输出模块们所需的静态文件。它能够很好地管理、打包Web开发中所用到的HTML、Javascript、CSS以及各种静态文件(图片、字体等),让开发过程更加高效。对于不同类型的资源,webpack有对应的模块加载器。webpack模块打包器会分析模块间的依赖关系,最后 生成了优化且合并后...

实现代码实现一个类似webpack的打包工具,代码如下: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273const fs = require('fs...

什么是pluginplugin能帮助我们在webpack打包生成文件的某个事件段帮我们做一些事,类似于Vue中的生命周期函数。例如html-webpack-plugin能帮我们在打包结束生成html文件,并把打包生成的脚本文件插入html中。 plugin的编写假如我们想写一个plugin,这个plguin能帮我们在打包生成文件之后再生成一个.txt文件,里面写我们的版权信息。实现代码如下:...

什么是loaderloader其实是一种打包方案,loader可以将所有类型的文件转换为 webpack 能够处理的有效模块,然后你就可以利用 webpack 的打包能力,对它们进行处理。 自己编写的loader的使用同普通loader一样,在webpack.config.js的module中写新的rule,还要在webpack.config.js新写一个配置项resolveLoader(代...

及时更新版本(node,npm等),新版本一般都会有提高打包效率的新特性 在尽可能少的模块上应用loader。可以优化文件搜索范围(即在rule中写include或exclude),eg. 可以不用编译node_modules中的代码,因为里面的都是编译过的 plugin尽可能精简并确保可靠,也尽可能少用 resolve参数合理配置import或require的时候可以不写文件后缀,而在r...

应用场景懒加载就是将不关键的资源延后加载,是一种很好的优化网页或应用的方式。这种方式实际上是先把你的代码在一些逻辑断点处分离开,然后在一些代码块中完成某些操作后,立即引用或即将引用另外一些新的代码块。这样加快了应用的初始加载速度,减轻了它的总体体积,因为某些代码块可能永远不会被加载。 实现对于图片来说,先设置图片标签的src属性为一张占位图,将真实的图片资源放入一个自定义属性中,当进入自定义...