awesome-f2e-libs
这里是【sorrycc】(陈成,花名云谦) (opens new window)大佬平时关注的前端库
# 打包工具
- webpack (opens new window) - 打包项目。
- rollup (opens new window) - 打包 npm 库。
- parcel (opens new window) - webpack 竞品,但发展前景不乐观,再观察一段时间。
- systemjs (opens new window) - 针对一些特殊场景会比较有用,比如云 ide,支付宝小程序 IDE 等。
- microbundle (opens new window) - 基于 rollup,简化配置。
- bili (opens new window) - 基于 rollup,同上。
- father (opens new window) - 组件打包工具,提供 babel 和 rollup 两种打包方式。
- vue-cli (opens new window) - vue 命令行工具。
- create-react-app (opens new window) - react 官方脚手架。
- prepack (opens new window) - 通过预先执行的方式优化打包结果。
- lebab (opens new window) - 把 es5 代码转成 es6,反向 babel。
- esm-to-cjs (opens new window) - 把 esm 转成 cjs。
- tsdx (opens new window) - Zero-config CLI for TypeScript package development.
# webpack 辅助工具、Loader 和插件
- webpack-dev-server (opens new window) - webpack 开发服务器。
- webpack-dev-middleware (opens new window) - webpack 中间件。
- webpack-merge (opens new window) - 合并 webpack 配置。
- webpack-chain (opens new window) - 通过 chain 风格 api 的方式修改 webpack 配置。
- svgr (opens new window) - svg 转 react 组件。
- postcss (opens new window) - CSS 界的 babel。
- autoprefixer (opens new window) - 为 CSS 选择权自动加 prefix。
- cssnano (opens new window) - CSS 压缩,也有类 preset 的概念。
- mini-css-extract-plugin (opens new window) - 提取 CSS 为单独文件。
- webpackbar (opens new window) - webpack 进度条。
- webpack-bundle-analyzer (opens new window) - 构建产物占比分析。
- uglifyjs-webpack-plugin (opens new window) - JS 压缩,产物为 ES5 语法。
- terser-webpack-plugin (opens new window) - JS 压缩,产物为 ES6 语法。
- webpack-manifest-plugin (opens new window) - 生成 manifest.json。
- copy-webpack-plugin (opens new window) - 复制额外的文件到输出目录。
- case-sensitive-paths-webpack-plugin (opens new window) - 大小写敏感检测,能规避一些问题,但构建时性能消耗较大。
- css-hot-loader (opens new window) - CSS 热更新,搭配 mini-css-extract-plugin 使用。
- duplicate-package-checker-webpack-plugin (opens new window) - 重复依赖检测。
- fork-ts-checker-webpack-plugin (opens new window) - ts 语法检测。
- speed-measure-webpack-plugin (opens new window) - 统计 webpack 各阶段耗时。
# Bundless
- vite (opens new window)
- snowpack (opens new window) - 浏览器里跑 npm 依赖,面向现代浏览器。
- es-dev-server (opens new window)
# 非 JavaScript 编译工具
- boa (opens new window) - 基于 Rust,嵌入式 Javascript 引擎。
- dprint (opens new window) - 基于 Rust,代码格式化工具,Prettier 替代品。
- elsa (opens new window) - 基于 Go,JavaScript 和 TypeScript 的 runtime。
- es-module-lexer (opens new window) - 基于 C,输出 Web Assembly,esm 模块解析。
- esbuild (opens new window) - 基于 Go,Webpack 替代品。
- esbuild-node-tsc (opens new window) - 用 esbuild 编译 TypeScript 项目,但不支持类型检测。
- minify (opens new window) - 基于 Go,压缩器,支持 HTML5、CSS3、JS、JSON、SVG 和 XML。
- RSLint (opens new window) - 基于 Rust,lint 工具。
- sucrase (opens new window) - 基于 Rust,Babel 替代品。
- swc (opens new window) - 基于 rust 的语法转换器,babel 的竞争者。
- swc-node (opens new window)
- markdown-wasm (opens new window) - 基于 wasm 的 markdown 解析工具。
# 包管理
# babel
- babel (opens new window)
- babel-plugin-dynamic-import-node (opens new window) - 有些场景下会需要禁用
import()
语法。 - babel-plugin-macros (opens new window) - 前端文件写 node 逻辑。
- babel-plugin-rawest (opens new window) - React 的 DOM 直出方案。
- babel-plugin-react-require (opens new window) - 自动为 jsx 语法加 react 引用。
- babel-plugin-transform-react-remove-prop-types (opens new window) - 删除 prop-types,生产环境用。
# macros
# 测试
- jest (opens new window)
- ts-jest (opens new window)
- enzyme (opens new window)
- jsdom (opens new window)
- puppeteer (opens new window)
- react-test-rerender (opens new window) - 官方出品。
- react-testing-library (opens new window) - kentcdodds 出品。
# 框架
- react (opens new window)
- vue (opens new window)
- next.js (opens new window)
- nuxt.js (opens new window)
- gastby (opens new window)
- umi (opens new window) - 蚂蚁金服的前端框架,我目前在维护。
- rekit (opens new window) - IDE and toolkit for building scalable web applications with React, Redux and React-router.
- choo (opens new window) - dva 最初的 API 是参考这个实现的,已经不怎么发展了,再关注一段时间。
- taro (opens new window) - 用 React 写小程序,适配微信和支付宝等。
- after.js (opens new window)
- mint (opens new window) - 提供了语言层方案的框架。
- quasar (opens new window) - 基于 vue,一套代码多处适用。
# react 相关库
- preact (opens new window) - 轻量级 React 实现。
- inferno (opens new window) - 轻量级 React 实现。
- react-router (opens new window) - React 路由方案。
- reach-router (opens new window) - React 路由方案,较新,优势是可访问性。
- router5 (opens new window) - 通用的路由方案。
- react-loadable (opens new window) - 按需加载 react 组件。
- ant-design (opens new window) - 蚂蚁金服的 React UI 库。
- material-ui (opens new window) - UI 库。
- react-intl (opens new window) - React 的国际化方案。
- react-dnd (opens new window) - 拖拽实现。
- react-helmet (opens new window) - 修改 html 的 header 内容。
- react-jsonschema-form (opens new window) - A React component for building Web forms from JSON Schema.
# vue 相关库
# 工具类
- history (opens new window)
- path-to-regexp (opens new window) - path 转正则,路由相关处理的底层库。
- lodash (opens new window) - 工具集合。
- fastclick (opens new window)
- date-fns (opens new window) - 时间处理。
# 数据流
- redux (opens new window)
- immer (opens new window)
- mobx (opens new window)
- unstated (opens new window)
- rxjs (opens new window)
- dva (opens new window) - 我写的数据流,基于 redux。
- rematch (opens new window) - 基于 redux。
- vuex (opens new window)
- ngrx (opens new window)
# redux 扩展
- react-redux (opens new window) - 绑定 react 和 redux。
- redux-saga (opens new window)
- redux-persist (opens new window)
- redux-bundler (opens new window)
- redux-box (opens new window)
# 性能优化
- workbox (opens new window) - PWA 方案,Google 出品。
- critical (opens new window) - 提取关键 CSS。
# 语言
# 文档
- dumi (opens new window)
- vuepress (opens new window)
- docz (opens new window)
- storybook (opens new window)
- mdx (opens new window) - jsx + markdown。
# 工程
- lerna (opens new window) - monorepo 管理。
- lerna-changelog (opens new window) - 为 lerna 项目自动生成 changelog。
- eslint (opens new window) - JS 风格约束。
- eslint-config-airbnb (opens new window)
- xo (opens new window) - 封装自 eslint。
- prettier (opens new window) - 更主观的风格自动修改。
- yeoman-generator (opens new window) - 脚手架工具。
- serve (opens new window) - 本地静态服务器。
- servor (opens new window) - 另一个静态服务器。
- budo (opens new window) - 又一个静态服务器。
- np (opens new window) - npm publish 辅助,自动 push、打 tag、升版本等。
- lint-staged (opens new window) - eslint 提速,只 lint 提交的代码。
- coveralls (opens new window) - 覆盖率。
- husky (opens new window) - 添加 git hooks。
- cross-env (opens new window) - 跨平台的环境变量声明。
- projj (opens new window) - 本地 git 项目管理,支持 github 和 gitlab。
- nvm (opens new window) - 管理 node 版本。
- concurrently (opens new window) - 在 npm scripts 里并行执行命令。
- @zeit/ncc (opens new window) - 打包为 npm 包为一个文件。
- npm-check (opens new window) - 检测依赖升级情况,我会和
yarn upgrade-interactive
配合着用,主要用来检测冗余依赖。 - cpx (opens new window) - 复制,支持 glob,并且可以 watch。
- onchange (opens new window) - 监听文件变动然后做一些事。
- just (opens new window) - 微软出的任务管理器。
- tern (opens new window) - 代码分析器,为不少编辑器服务。
- lightproxy (opens new window) - 底层协议代理工具,跨平台。
# 编辑器
- VSCode (opens new window)
- IntelliJ IDEA (opens new window) - 我用这个。
- codesandbox (opens new window)
- stackblitz (opens new window)
# CloudIDE
# 字体
# CSS
# 命令行
- ajv (opens new window) - 参数校验。
- chalk (opens new window) - 输出不同颜色。
- cheerio (opens new window) - 用类 jQuery 语法处理 HTML。
- chokidar (opens new window) - 文件监听。
- clipboardy (opens new window) - 复制文本到粘贴板。
- debug (opens new window) - 打印调试信息。
- depd (opens new window) - 给出 deprecated 警告。
- deprecate (opens new window) - 给过期警告。
- enquirer (opens new window) - 同上,更 cool 一些。
- execa (opens new window) - 比 child_process 好用,返回 Promise。
- figures (opens new window) - ✔︎ 等特殊字符,做了 windows 兼容处理。
- glob (opens new window) - 文件查找。
- ink (opens new window) - 用 React 处理命令行输出。
- inquirer (opens new window) - 交互式命令接口,比如 prompt。
- ora (opens new window) - 控制命令行光标,显示 loading 等。
- rimraf (opens new window) - 删除文件。
- signale (opens new window) - 漂亮的日志打印。
- semver (opens new window) - semver 版本处理。
- tiny-glob (opens new window) - 文件查找。
- update-notifier (opens new window) - 更新提醒。
- why-is-node-running (opens new window) - 检查 node 没退出的原因。
- yargs (opens new window) - 命令行入口套件。
- yargs-parser (opens new window) - 命令行参数解析。
# 请求处理
- axios (opens new window)
- got (opens new window)
- request (opens new window)
- reqwest (opens new window)
- urllib (opens new window)
- whatwg-fetch (opens new window)
# 压缩解压缩
- compressing (opens new window) - 压缩和解压缩。
- tar-fs (opens new window) - tar 的压缩和解压缩。
- yauzl (opens new window) - zip 解压缩。
- yazl (opens new window) - zip 压缩。
# 语法解析
- esquery (opens new window) - 语法树查询。
# Markdown
- markdown-it (opens new window) - Markdown 转 HTML。
- remark (opens new window) - Markdown 语法解析器。
# 其他
- electron (opens new window)
- fx (opens new window) - 交互式 JSON 查看。
- DeskGap (opens new window) - 类 electron,由于不包含浏览器的部分,所以产物更小
# rtfs
- eslint/rfcs (opens new window)
- gastbyjs/rfcs (opens new window)
- npm/rfcs (opens new window)
- nuxtjs/rfcs (opens new window)
- reactjs/rfcs (opens new window)
- vuejs/rfcs (opens new window)
- yarnpkg/rfcs (opens new window)
# 相关
- awesome-tools (opens new window) - 我在用的工具。
最近更新时间: 2021/07/21 15:02:03
- 01
- 2021/02/28 02:29:20
- 02
- 2021/02/23 00:12:54
- 03
- 2021/02/19 15:51:48