# RollupBuild
**Repository Path**: onresize/rollup-build
## Basic Information
- **Project Name**: RollupBuild
- **Description**: Rollup打包(UMD、IIFE、CJS、ESM)、组件库的按需加载、本地调试等
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-02-27
- **Last Updated**: 2024-02-29
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
#### cjs, umd, esm or iife
```js
// 它们分别是什么?
参考 rollup 的在线 repl 来查看各种模块写法: https://rollupjs.org/repl/
```
#### CJS
```js
CommonJs、只能在NodeJS上运行、使用 require('module')读取并加载模块
缺点:不支持浏览器、执行后才能拿到依赖信息
```
#### AMD
```js
可以看作是 CJS 的异步版本、制定了一套规则使模块可以被异步 require 进来并在回调函数里继续使用,然后 require.js 等前端库也可以利用这个规则加载代码了,目前已经是时代的眼泪了
```
#### UMD
```yml
同时兼容 CJS 和 AMD、并且支持直接在前端用 的方式加载、现在还在广泛使用,不过可以想象 ESM 和 IIFE 逐渐代替它
```
#### IIFE
```js
只是一种写法,可以隐藏一些局部变量,前端人要是不懂这个可能学的是假前端。可以用来代替 UMD 作为纯粹给前端使用的写法
```
### ESM
```js
现在使用的模块方案,使用 import export 来管理依赖。由于它们只能写在所有表达式外面,所以打包器可以轻易做到分析依赖以及 Tree-Shaking。当然他也支持动态加载(import())
浏览器直接通过