1、安装
npm i rollup -g
2、基本使用
(1)命令行:
rollup -i 待打包文件 --file 打包输出路径 --format 打包格式 --name 全局变量 --watch
-i:input输入的文件
打包格式:umd、cjs、es、iife等
全局变量:当使用umd格式时,文件中export导出的变量都将挂载到指定的变量上,便于其他库引入
--watch:监听文件变化并重新执行命令
--environment TEST:值; 设置环境变量,通过process.ene.TEST获取
--plugin:插件名称; 运行安装的插件
输入输出多个文件
rollup -i 文件1 -i 文件2 --dir 输出目录
运行文件配置
rollup --config rollup.config.js
(2)文件配置
创建rollup.config.js,若是rollup.config.cjs则为module.exports={}
export default {
input:入口文件,
output:{
file:输出文件名,
dir:输出目录,
format:输出格式,
name:umd中的全局变量
plugins:[] 用于输出的插件,比如压缩代码
banner:'输出代码添加水印'
},
output:[{...},{...}], 配置多个格式输出
plugins:[插件(),...],
external:['react'], 不打包合并指定的模块
external:{
'react':'React'
}
}
打包输出多个格式内容
export default [
{
output:{
file:输出文件名,
dir:输出目录,
format:umd,
name:umd中的全局变量
}
...
},
{
...
}
]
(3)插件配置
import json from '@rollup/plugin-json' 能够导入解析JSON文件
import resolve from '@rollup/plugin-node-resolve' 打包第三方库到代码中,否则会是外部引入的方式
import commonjs from '@rollup/plugin-commonjs ' 通过import导入commonjs语法的包
import {terser} from 'rollup-plugin-terser' 输出代码压缩
import alias from '@rollup/plugin-alias' 设置别名
import replace from '@rollup/plugin-replace' 将代码中设置的变量进行替换
plugins:[
resolve(),
commonjs(),
json(),
]
output:{
plugins:[terser()]
}
(4)插件钩子
buildStart(inputOptions) 会传入整个rollup的配置
resolveId(模块id,引入该模块所在文件的路径)
load(模块id)
transform(code,文件名) 返回处理后的code、sourcemap
rollup 基本配置
于 2022-03-20 15:31:42 首次发布