一、rollup 环境搭建

309 阅读2分钟

1、初始化项目

npm init -y

此时,生成一个package.json文件,主要用于项目的配置信息,包括名称、版本、描述信息等, 也会记录项目所需的各种模块,包括了生产依赖,和开发依赖,以及script脚本信息。

类似于:

//package.json
{
  "name": "mselfvue",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "build": "xxx"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

2、安装依赖

npm istall rollup rollup-plugin-babel @babel/core @babel/preset-env --save-dev

//rollup : 打包工具
//rollup-plugin-babel:在rollup 中使用babel 插件
//@babel/core : babel的核心块
//@babel/preset-ev : babel预设 高级语法转低级

3、编写预设文件

 // .babelrc
 {
    "presets":[
        "@babel/preset-env"
    ]
}

4、编写rollup.config.js文件

此文件为rollup打包时的默认配置文件

//rollup.config.js      rollup 导出一个对象,作为打包的配置文件


import babel from "rollup-plugin-babel";  //引入babel

export default {
  input :"./src/index.js",//打包入口文件
  output:{
      file:"./dist/vue.js",//打包出口文件
      name:"Vue",
      format:"umd", //amd: 异步模块定义。
                    //cjs: CommonJS,适用于Node。
                    //es: 将软件包保存为ES模块文件。
                    //iife: 一个自动执行的功能,适合作为script标签这样的,只能在浏览器中运行。
                    // umd: 通用模块定义,以amd、cjs和iife为一体。
      sourcemap:true, //调试源代码工具
    },
    plugins:[
        babel({
            exclude:"node_modules/**", // 不去编译 node_modules下的文件夹
        })
    ]
}


5、更改package.json 中的script脚本命令

...
 "scripts": {
    "start": "rollup -cw" //执行 npm run start 执行打包  w:--watch 监听源文件改动,重新打包
  },
...

此时,package.json的文件长这样:

{
  "name": "mselfvue",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "rollup -cw"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@babel/core": "^7.16.12",
    "@babel/preset-env": "^7.16.11",
    "rollup": "^2.66.0",
    "rollup-plugin-babel": "^4.4.0"
  }
}


6、配置完成 做一次试验

  1. 创建入口文件 ./src/index.js
  export const a = 1;
  1. 执行打包命令
  $ npm run start

> mselfvue@1.0.0 start
> rollup -cw

rollup v2.66.0
bundles ./src/index.js → dist\vue.js...
(!) Generated an empty chunk
index
created dist\vue.js in 5.5s
bundles ./src/index.js → dist\vue.js...
created dist\vue.js in 62ms

Reloading updated config...
bundles ./src/index.js → dist\vue.js...

  1. 此时完成打包 在生成一个 dist目录 包含一个 .js文件 和一个 .js.map 文件

7、打完收工!!!!!!!!