rollup

180 阅读1分钟

命令

rollup -i index  //输入
rollup -i index -o index_dist.js //把index.js打包成index_dist.js
rollup -i index -o index_dist.js -f amd  //打包并转换成amd格式  //cjs是commenjs
rollup -i index -f amd -d dist //打包放到dist文件夹下
rollup -i index -f cjs -d dist -w //你打包实时监听你改动代码打包
rollup -i index -f cjs -d dist -w --compact //对代码进行压缩处理
//或者下载uglify-js插件进行压缩
rollup index |uglifyjs -o index_dise.js //通过uglifyjs进行压缩
rollup -c //执行配置文件,首先创建rollup.config.js
export default {
    input: "index.js",
    output:{
        file:"index2.js"
    }
}
//通过rollup -c 执行命令
rollup --environment ROLLUP_ABC:123 -c  //配置环境变量并执行配置文件

例子:通过不同的mode环境变量进行打包不同的导出方式

rollup.config.js

const isIocal = process.env.MODE =="local" //判断是不是local
export default {
    input: "index.js",
    output:{
        file:"index2.js",
        format:isIocal?"amd":"cjs" //是的话就通过amd方式,不是的话通过commjs方式打包
    },
  

}
console.log(process.env);

命令:

rollup -c --environment MODE:local //设置环境变量MODE是local

rollup-json 插件

rollup-node-resolve

用处:为了打包的时候能够引入node_modules里面引入的模块 安装:npm i @rollup/plugin-node-resolve -D

npx rollup -i index.js -o index.dest.js -p node-resolve

配置文件

import json from "@rollup/plugin-json"
import nodeResolve from "@rollup/plugin-node-resolve"
import terser from  "@rollup/plugin-terser"
export default {
    input: "index.js", //入口文件3
    output:{
        file:"dist/index_out.js",
        // format:isLocal ? "es" : "amd"
        plugins:[
            terser() //压缩配置
        ]
    },
  plugins:[
      json(),
      nodeResolve()
  ]

}