那些自动化打包工具及其生态库,大前端必备!

561 阅读6分钟

grunt

包名作用
grunt对于需要反复重复的任务,例如压缩(minification)、编译、单元测试、linting等
grunt-cligrunt命令行工具
grunt-initgrunt项目初始化工具
time-gruntgrunt计时工具
load-grunt-tasksgrunt自动导入插件工具
load-grunt-configs从单独的文件加载 grunt 任务配置
grunt-contrib-cleangrunt清除废料工具
grunt-contrib-copygrunt复制文件工具
grunt-contrib-requirejsreuirejs任务执行工具
grunt-contrib-watch实时监控文件变化、调用相应的任务重新执行
grunt-contrib-jshintjavascript语法错误检查
grunt-contrib-nodeunit运行 Nodeunit 单元测试
grunt-contrib-concat合并多个文件的代码到一个文件中
grunt-contrib-uglify使用 UglifyJS 缩小 JavaScript 文件
grunt-contrib-cssmin压缩/合并css文件
grunt-contrib-htmlmin压缩html文件
grunt-contrib-imagemin压缩图片文件(无损)
grunt-contrib-connect启动连接网络服务器
grunt-contrib-compass将 Compass 编译为 CSS
grunt-contrib-sass将 sass 编译为 CSS
grunt-contrib-less将 less 编译为 CSS
grunt-wiredep使用 Grunt 将 Bower 包注入到您的源代码中
grunt-concurrent并发运行 grunt 任务
grunt-autoprefixer解析 CSS 并使用 Can I Use 数据库添加供应商前缀的 CSS 属性
grunt-newer将 Grunt 任务配置为仅使用较新的文件运行
grunt-webpackUse Webpack with Grunt
grunt-postcss使用 PostCSS 将多个后处理器应用到您的 CSS
grunt-ejs-render使用自定义数据和帮助程序渲染 EJS 模板的 Grunt 插件
grunt-premailerPremailer 的 Grunt 包装器任务
grunt-preprocess围绕预处理 npm 模块的 Grunt 任务
grunt-bootlintBootlint 的 Grunt 包装器,Bootstrap 项目的 HTML linter

gulp

包名作用
gulp自动化和增强您的工作流程的工具包
gulp-cligulp命令行工具
gulp-concat文件合并
gulp-load-plugins从包依赖项加载 gulp 插件并将它们附加到您选择的对象
gulp-replacegulp 的字符串替换插件
gulp-shell方便的 gulp 命令行界面
gulp-if条件判断插件
gulp-babel文件语法编译
gulp-uglify代码压缩
gulp-rename文件重命名
gulp-beautifyThis is a gulp plugin for js-beautify
gulp-cache-bustgulp 的 cachebust 插件
gulp-minify使用 terser 缩小 JavaScript
gulp-useref将HTML引用的多个CSS和JS合并起来,减小依赖的文件个数,从而减少浏览器发起的请求次数

browserfiy

包名作用
browserfiy浏览器端的前端打包工具

rollup

包名作用
rollup新一代的 JavaScript 模块打包工具
rollup-plugin-json将 .json 文件转换为 ES6 模块
@rollup/plugin-json将 .json 文件转换为 ES6 模块
rollup-plugin-node-resolve在 node_modules 中定位并捆绑第三方依赖
@rollup/plugin-node-resolve在 node_modules 中定位并捆绑第三方依赖
rollup-plugin-commonjs将 CommonJS 模块转换为 ES2015
@rollup/plugin-commonjs将 CommonJS 模块转换为 ES2015
rollup-plugin-babelRollup 和 Babel 之间的无缝集成
@rollup/plugin-babelRollup 和 Babel 之间的无缝集成
rollup-plugin-replace捆绑时替换文件中的字符串
@rollup/plugin-replace捆绑时替换文件中的字符串
@rollup/plugin-typescript用于在 Rollup 和 Typescript 之间无缝集成
rollup-plugin-postcssRollup 和 PostCSS 之间的无缝集成
rollup-plugin-vue使用 Rollup 滚动 Vue 3 SFC
rollup-plugin-uglify用于缩小生成包的 Rollup 插件
rollup-plugin-terser压缩生成文件
rollup-plugin-terser用于缩小生成的 es 包的汇总插件
rollup-plugin-eslint使用 ESLint 验证入口点和所有导入的文件

webpack

包名作用
webpack最流行的模块打包器
webpack-cliwebpack命令行工具
schema-utilsloader和plugin中验证选项的工具包
webpack-sources包含代表一个源的多个类。可以向 Source 询问源代码、大小、源映射和哈希
loader-utils自定义loader工具包
webpack-dev-serverwebpack热更新服务器
webpack-merge合并webpack配置文件
webpack-chain用于生成和简化Webpack配置的修改
react-hot-loader允许即时实时刷新而在编辑React组件时不会丢失状态
vue-loader允许你以一种名为单文件组件的格式撰写 Vue 组件
@svgr/webpack将SVG转换为React组件
svg-sprite-loader将加载的 svg 图片拼接成 雪碧图,放到页面中,其它地方通过 复用
expose-loaderexpose-loader向全局对象添加模块,这对于调试或支持依赖于全局变量中的库的库很有用
exports-loader添加 module.exports 来主动暴露需要的对象,使其模块化
script-loader全局上下文环境中执行模块 JS 文件
raw-loader用于 webpack 的加载器,可让您将文件作为字符串导入
url-loader将文件资源编译成base64形式
file-loader对引入的文件进行移动到构建目录中
babel-loader使用babel编译文件
eslint-loader语法检查加载器
html-loader将文件输出成为html
markdown-loader使用markmark的webpack的markdown-loader
isomorphic-style-loader针对同构应用做优化的style加载器
style-loader注入css到dom中
css-loader读取css文件编译成对象
postcss-loader后置处理css插件
sass-loader编译sass文件成为css
less-loader编译less文件成为css
thread-loader多进程编译模块
ts-loader编译typescript文件
webpackbar用于Webpack 3、4和5的优雅ProgressBar和Profiler
webpack-node-externals轻松排除Webpack中的node_modules模块
webpack-bundle-analyzer分析chunk的依赖关系
windicss-webpack-pluginWindi CSS 看作是按需供应的 Tailwind 替代方案
friendly-errors-webpack-plugin识别某些类别的webpack错误,并清除,汇总并确定优先级,以提供更好的开发人员体验
speed-measure-webpack-plugin打包速度分析器
antd-dayjs-webpack-pluginantd项目中将moment替换成day.js
uglifyjs-webpack-plugin压缩js代码插件
clean-webpack-plugin用于清理构建目录插件,保持构建内容为最新资源
copy-webpack-plugin复制文件或者目录的插件
html-webpack-plugin将打包的资源动态更新给html
add-asset-html-cdn-webpack-plugin添加资源的CDN引入方式
html-webpack-inline-source-plugin通过添加 {inlineSource: 'regex string'} 选项增强 html-webpack-plugin 功能
script-ext-html-webpack-plugin将指定文件内容内嵌到script中
favicons-webpack-plugin让 webpack 为你生成所有的 favicon 和图标
mini-css-extract-plugin抽离css文件
optimize-css-assets-webpack-plugin用于优化最小化CSS资源
terser-webpack-plugin使用 terser 来缩小/最小化你的 JavaScript
preload-webpack-plugin使用 link rel='preload' 自动连接异步(和其他类型)的 JavaScript 块。这有助于延迟加载
prerender-spa-pluginSPA页面预渲染工具,实现SEO(搜索引擎优化)
common-config-webpack-pluginwebpack配置集成插件
sw-precache-webpack-plugin将你的项目升级成PWA,create-react-app默认使用的策略
workbox-webpack-plugin使用workbox的webpack插件,让你的网站支持PWA
pnp-webpack-pluginyarn启用PNP特性后,让webpack的resolve模块无需特殊改写即可正常使用
extract-text-webpack-plugin从一个或多个包中提取文本到一个单独的文件中

parcel

包名作用
parcel快速、零配置的 Web 应用程序打包器
@parcel/config-defaultparcel预置配置文件
@parcel/transformer-raw原始文件转换
@parcel/transformer-typescript-tsctypescript文件转换

esbuild

包名作用
esbuild极速 JavaScript 打包器

snowpack

包名作用
snowpack更快的前端构建工具

vite

包名作用
vite下一代前端打包工具
create-vite创建下一代前端工具,它很快

持续更新中...