基于 Rollup4。
Rollup 是一个 JavaScript 的模块化打包工具,可以帮助编译微小的代码到庞大的复杂的代码中(例如一个库或者一个应用程序)。
Rollup 和 Webpack 的区别:
Rollup 和 Webpack 都是模块化的打包工具。它们的区别主要是:
-
Rollup 专注于处理 JavaScript 代码(当然也可以处理其他文件);主要是针对 ESModule 进行打包的,默认支持 ESModule 模块化语法(当然也有解决办法可以处理其他模块化代码);Rollup 中处理任何文件都是使用对应的插件;配置理念相对于 Webpack 来说更加简洁和容易理解。
-
Webpack 中可以处理各种类型的文件;可以使用各种模块化开发;Webpack 中是通过 Loader 来转换文件,通过 Plugin 来执行其他的逻辑。
通常在实际开发项目中都会使用 Webpack,例如 React、Vue、Angular 项目都是基于 Webpack 的;在对库文件进行打包时,通过会使用 Rollup,例如 React、Vue、dayjs 源码本身都是基于 Rollup 的。
Rollup 的基本使用:
在命令行中使用 Rollup:
- 新建一个
rollup-demo文件,运行npm init -y对其进行初始化。 - 安装 Rollup:
npm install rollup -D。 - 新建
src/index.js文件,并编写代码。const sum = (num1, num2) => { console.log(num1 + num2) } export { sum } - 运行
npx rollup ./src/index.js -o dist/index_esmodule.js命令对src/index.js进行打包,输出到dist//index_esmodule.js中。

- 运行
npx rollup ./src/index.js -f cjs -o dist/index_commonjs.js命令,使用 CommonJS 的格式对src/index.js进行打包,输出到dist/index_commonjs.js中。

- 运行
npx rollup ./src/index.js -f amd -o dist/index_amd.js命令,使用 AMD 的格式对src/index.js进行打包,输出到dist/index_amd.js中。

- 运行
npx rollup ./src/index.js -f iife -o dist/index_browser.js命令,使用立即调用函数的格式对src/index.js进行打包,输出到dist/index_browser.js中。

使用 Rollup 的配置文件:
rollup.config.js 配置文件中可以使用 CommonJS 语法;也可以使用 ESModule 语法,如果要使用 ESModule 语法的话,需要给 package.json 添加 "type": "module" 来告知 Node 使用 ES 模块解析脚本。
由于 Rollup 最主要是针对 ESModule 来进行打包的,因此
rollup.config.js配置文件中更常使用 ESModule 语法。
- 在项目的根目录下创建
rollup.config.js配置文件,并编写配置。module.exports = { // 入口 input: './src/index.js', // 出口。属性值可以是一个对象类型的数组,将会输出多个结果;也可以是一个对象,只输出一个结果 output: [ { file: 'dist/index_esmodule.js' }, { format: 'umd', // 一旦导出为 UMD 格式,就必须指定 name 名称 name: 'utils', file: 'dist/index_umd.js' }, ] } - 运行
npx rollup -c进行打包,会发现打包输出出了两种格式的文件。


最低0.47元/天 解锁文章
1312

被折叠的 条评论
为什么被折叠?



