热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

rollup函数_Rollup学习系列3快速开始

Rollup学习系列1-tree-sharking的来源Rollup学习系列2-什么样的代码容易tree-sharking这篇手把手讲下怎么开始一个Rollup项目(咦,感觉有些多
80569879ff7c82aed71016fb0c177c05.png

Rollup学习系列1-tree-sharking的来源

Rollup学习系列2-什么样的代码容易tree-sharking

这篇手把手讲下怎么开始一个 Rollup 项目(咦,感觉有些多余了,想想还是写下吧)

开始装依赖

下面4个插件 是最常用的插件,具体作用在后面讲
npm i rollup --save-dev
npm i rollup-plugin-babel --save-dev
npm i rollup-plugin-commonjs --save-dev
npm i rollup-plugin-node-resolve --save-dev
npm i rollup-plugin-serve --save-dev

准备项目的目录结构

├── build # 编译脚本
│ └── rollup.config.js└── dev.js // 开发者模式
├── lib # 编译结果
│ └── index.js
├── example # HTML引用例子
│ └── index.html
└── src # ES6源码└── index.js
├── package.json

打包脚本

// package.json"scripts": {"dev":"rollup --config build/dev.js --watch","build": "npm run rollup","rollup": "rollup --config build/rollup.config.js",},

rollup.confing.js

import babel from 'rollup-plugin-babel';
import common from 'rollup-plugin-commonjs'
import resolve from 'rollup-plugin-node-resolve'export default {input: 'src/index.js',output: [{file: 'lib/index.js',name:"Demo",format: 'iife' // iife 表示立即执行函数},{format: 'esm',file: 'lib/index.esm.js',},{file: 'lib/index.umd.js',name:"Demo",format: 'umd' },{file: 'lib/index.amd.js',name:"Demo",format: 'amd' },{file: 'lib/index.cjs.js',name:"Demo",format: 'cjs' },],plugins: [resolve(), babel(), common()]
}
// dev.jsimport serve from 'rollup-plugin-serve'
import baseConfig from './rollup.config'const config = baseConfig;
config.plugins.concat([serve({open: true,port: 3001,contentBase: ['example', 'lib'] // 设置 exmaple的访问目录和dist的访问目录})
]);
export default config

好,这样简单的配置就可以干活了,是不是很简单啊,反正我是很喜欢这种简约的配置,特别在写 公共的 SDK,非常舒服

感觉这篇好水哦,哈哈,可能刚摸得人会用得上



推荐阅读
  • Vue基础一、什么是Vue1.1概念Vue(读音vjuː,类似于view)是一套用于构建用户界面的渐进式JavaScript框架,与其它大型框架不 ... [详细]
  • 本文介绍了JavaScript进化到TypeScript的历史和背景,解释了TypeScript相对于JavaScript的优势和特点。作者分享了自己对TypeScript的观察和认识,并提到了在项目开发中使用TypeScript的好处。最后,作者表示对TypeScript进行尝试和探索的态度。 ... [详细]
  • 1.移除consol.log()的babel插件安装:npmibabel-plugin-transform-remove-console-D配置:babel.config.js:这 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • Firefox火狐浏览器关闭到http://detectportal.firefox.com的流量问题解决办法
    本文介绍了使用Firefox火狐浏览器时出现关闭到http://detectportal.firefox.com的流量问题,并提供了解决办法。问题的本质是因为火狐默认开启了Captive portal技术,当连接需要认证的WiFi时,火狐会跳出认证界面。通过修改about:config中的network.captive-portal-service.en的值为false,可以解决该问题。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • Java和JavaScript是什么关系?java跟javaScript都是编程语言,只是java跟javaScript没有什么太大关系,一个是脚本语言(前端语言),一个是面向对象 ... [详细]
  • 微信民众号商城/小顺序商城开源项目介绍及使用教程
    本文介绍了一个基于WeiPHP5.0开发的微信民众号商城/小顺序商城的开源项目,包括前端和后端的目录结构,以及所使用的技术栈。同时提供了项目的运行和打包方法,并分享了一些调试和开发经验。最后还附上了在线预览和GitHub商城源码的链接,以及加入前端交流QQ群的方式。 ... [详细]
  • loader资源模块加载器webpack资源模块加载webpack内部(内部loader)默认只会处理javascript文件,也就是说它会把打包过程中所有遇到的 ... [详细]
  • React 小白初入门
    推荐学习:React官方文档:https:react.docschina.orgReact菜鸟教程:https:www.runoob.c ... [详细]
  • RN即ReactNative基于React框架针对移动端的跨平台框架,在学习RN前建议最好熟悉下html,css,js,当然如果比较急,那就直接上手吧,毕竟用学习前面基础的时间,R ... [详细]
  • 前言:原本纠结于Web模板,选了Handlebars。后来发现页面都是弱逻辑的,不支持复杂逻辑表达式。几乎要放弃之际,想起了Javascript中ev ... [详细]
author-avatar
每天进步一点就好
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有