使用Rollup搭建开发环境

Rollup介绍:

Rollup 是一个 JavaScript 模块打包器,专注于Javascript类库打包,所以开发库时使用Rollup,
而开发应用时使用 webpack 打包

环境搭建

目录结构:

├── dist   // 打包存放的目录
├── public  // 静态资源文件
│   └── index.html
├── src
│   ├── index.js       // 项目打包入口文件
│   └── ...
├── .babelrc  // babel打包配置
├── package.json
└── rollup.config.js 

1. 安装rollup依赖:

npm install @babel/preset-env @babel/core rollup rollup-plugin-babel rollup-plugin-serve cross-env -D

@babel/preset-env // 预设 es6 -> es5 插件的集合 @babel/core // 代码分析成ast
rollup-plugin-babel // 给rollup集成babel的插件
rollup-plugin-serve // rollup开启serve服务插件
cross-env // 运行跨平台设置和使用环境变量 (就是npm运行时不管是windows还是mac都能运行)

2. rollup.config.js配置如下:

import babel from 'rollup-plugin-babel';
import serve from 'rollup-plugin-serve';

// 常见的模块规范 import export (ESModule)   module.exports require (commonjs)
// AMD 比较老的模块规范  systemjs 模块规范

// ES6Module  commonjs  umd(支持amd 和 cmd)
export default {
    input: './src/index.js',  // 打包入口
    output: {
        format: 'umd', // 模块化类型
        file: 'dist/umd/myModule.js',  // 打包到dist内
        name: 'myModule', // 打包后的全局变量的名字
        sourcemap: true
    },
    plugins: [
        babel({ // 执行 babel 时自动去 .babelrc 文件加载对应配置
            exclude: 'node_modules/**'  // 排除
        }),
        process.env.ENV === 'development'? serve({ // 开端口
            open: true,
            openPage: '/public/index.html',
            port: 3000,
            contentBase: ''
        }) : null
    ]
}

3. .babelrc配置:

{
    "presets": [
        "@babel/preset-env" // es6 -> es5
    ]
}

4. package.json配置

{
	...
	"scripts": {
		"build:dev": "rollup -c", //只打包
		"serve": "cross-env ENV=development rollup -c -w" // -c打包  -w监听改变后重新执行-c打包
	}
	...
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值