介绍 PostHTML 是一种使用 JS 插件转换 HTML/XML 的工具。PostHTML 本身非常小。它仅包含一个 HTML 解析器、一个 HTML 节点树 API 和一个节点树字符串化器。 所有 HTML 转换都是由插件完成的。这些插件只是简单的小型 JS 函数,它们接收 HTML 节点树,对其进行转换,然...
HTML解析器之htmlparser2使用详解
htmlparser2 提供了一个解析器——Parser,初始化它至少需要一个handler,options是可选的。 handler是一个对象,在这个对象上可以设置很多的钩子函数,Parser解析时会在每个阶段运行对应的钩子函数。 以下是可以设置的所有的钩子函数, 函数名描述onopentag(<str> ...
node.js 如何解析 html 标签,实现 jquery 一样的元素选择操作
cheerio 为服务器特别定制的,快速、灵活、实施的jQuery核心实现。主要是为了用在服务器端需要对DOM进行操作的地方 安装 npm i -D cheerio 解析html(load) const cheerio = require('cheerio'); const $ = cheerio.load('<h2 class="title">hello wo...
Rollup 如何封装自己的工具库详解之DAG 有向图判断是否有环
介绍 Rollup 是一个 JavaScript 模块打包器,可以将小块代码编译成大块复杂的代码,例如 library 或应用程序。Rollup 对代码模块使用新的标准化格式,这些标准都包含在 JavaScript 的 ES6 版本中,而不是以前的特殊解决方案,如 CommonJS 和 AMD。ES6 模块可以使你自由、无...
npm 开源模块,如何配置属于本模块的命令集,全局、局部安装可以使用该命令
其实要配置属于本模块专属命令并不复杂,只需在 package.json 里配置 bin 属性就可以了,下面我们通过一个列子来说明 // package.json "bin": { "tracelib": "./bin/tracelib.js" }, // tracelib.js #!/usr/bin/env node const fs = require('fs'); const pat...
wepack5 Vue Test Utils 单元测试之 Jest 配置
配置单元测试的前题是你已经安装并配置好了 webpack、vue-loader 和 Babel——例如通过 vue-cli 创建了 webpack-simple 模板脚手架。 安装 Jest 和 Vue Test Utils: npm install --save-dev jest @vue/test-utils // package.json { "scripts":...
升级 webpack5 常见问题详解
webpack5 发布后,对打包速度,打包性能、tree shaking等都做了很多改进。对于一些老项目还在用 webpack4 或者webpack3 同学是一个巨大诱惑。但是对于升级后各种包冲突,包未更新,跟其它一个插件不兼容问题,让大家望而止步。下面来看看笔都在项目升级 webpack5 踩过的坑,做...
webpack的DllPlugin、DllReferencePlugin插件使用,提升打包速度之旅
webpack.dll.js 'use strict' const path = require('path'); const webpack = require('webpack'); const { CleanWebpackPlugin } = require('clean-webpack-plugin'); module.exports = { mode: 'production', entry: { vue: ['vue'], vueRo...
stylelint 规则 | Rules 详解
以下是 stylelint 的所有规则,并参照css vocabulary进行分类。 颜色 color-hex-case: 指定十六进制颜色大小写 。color-hex-length: 指定十六进制颜色是否使用缩写 。color-named: 要求 (可能的情况下) 或 禁止使用命名的颜色。color-no-hex: 禁止使用十六进制颜色。col...
js有向图验证是否有回路(环),antv-x6、antv-g6
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>js有向图验证是否有回路(...