基于 `rollup` 搭建 vue 的组件

基于 rollup 搭建 vue 的组件

简单的说,因为对很多类型的静态资源处理没有 webpack 强大,但是基于 Tree-shaking 原理用来打包 lib的话,打出来的包,干净,小。所以 rollup 比较适合打包小型的 lib 库,不适合用来做开发。

1. 项目传送门

主要流程和包

2. 初始化项目
npm init -y
npm i -D rollup
3. 添加配置文件
// rollup.config.js
export default {
   
  input: 'src/main.js',
  output: {
   
    file: 'dist/bundle.js',
    format: 'cjs'
  },
  plugins: []
};
2. 添加环境变量
  1. 安装依赖
npm i -D rollup-plugin-replace cross-env
  1. 添加 package.json > script 命令:
  • -c: 读取配置文件’;
  • -w: 监听文件变化;
"scripts": {
   
  "start": "cross-env NODE_ENV=development rollup -c -w",
  "build": "cross-env NODE_ENV=production rollup -c",
}
  1. 它在打包时替换文件中的目标字符串
import replace from 'rollup-plugin-replace';

export default {
   
  input: isPrd ? 'src/lib-main.js' : 'src/main.js',
  output: {
   
    file: 'dist/bundle.js',
    format: 'cjs'
  },
  plugins: [
    replace({
   
      'process.env.NODE_ENV': JSON.stringify(NODE_ENV),
    }),
  ]
};
4. 安装 babel, 用来编译代码。
  1. 安装依赖
npm i -D rollup-plugin-babel @babel/core @babel/preset-env
  1. 增加 .babelrc
{
  "presets": [
    "@babel/preset-env"
  ]
}
  1. 添加到 rollup.config.js 中:
import babel from 'rollup-plugin-babel';
export default {
   
  input: 'src/main.js',
  output: {
   
    file: 'dist/bundle.js',
    format: 'cjs'
  },
  plugins: [
    babel({
   
      exclude: 'node_modules/**' // 只编译我们的源代码
    }),
  ]
};
5. 添加 .vue 文件解析
  1. 安装依赖
npm i -D rollup-plugin-vue vue-template-compiler @vue/compiler-sfc
  1. 导入到配置文件中
import vue from 'rollup-plugin-vue';
export default {
   
  input: 'src/main.js',
  output: {
   
    file: 'dist/bundle.js',
    format
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值