rollup入门

作为js程序员,掌握rollup是必要的。

有了webpack后,为什么还要用rollup, 因为webpack不专业,webpack是打包一切.

rollup只为打包js而生.

  1. 能组合我们的脚本文件。
  2. 移除未使用的代码(仅仅使用ES6语法中)。
  3. 在浏览器中支持使用 Node modules。
  4. 压缩文件代码使文件大小尽可能最小化。

rollup通过的五种打包格式:

  • amd – 异步模块定义,用于像RequireJS这样的模块加载器
  • cjs – CommonJS,适用于 Node 和 Browserify/Webpack
  • es – 将软件包保存为ES模块文件
  • iife – 一个自动执行的功能,适合作为<script>标签。(如果要为应用程序创建一个捆绑包,您可能想要使用它,因为它会使文件大小变小。)
  • umd – 通用模块定义,以amd,cjs 和 iife 为一体

一般情况下首选 umd...浏览器环境, nodejs都可以运行

rollup input.js --file output.js --format umd --name namespace

 

CommonJS模块的重要特性是加载时执行,即脚本代码在require的时候,就会全部执行

CommonJS的做法是,一旦出现某个模块被"循环加载",就只输出已经执行的部分,还未执行的部分不会输出。

 

这导致ES6处理"循环加载"与CommonJS有本质的不同。ES6根本不会关心是否发生了"循环加载",只是生成一个指向被加载模块的引用,需要开发者自己保证,真正取值的时候能够取到值。

 

posted @ 2019-10-24 11:20  wanhong  阅读(372)  评论(0编辑  收藏  举报