Vue.js 1.0.10改用rollup来打包的优势,对使用Vue.js的用户来讲会有什么影响?

今天看到Vue.js发布了1.0.10版本,打包器换成了rollup,请问这个与原来的webpack有什么关系和区别,我刚刚开始研究Vue,本来想使用webpack来打包我们的应用,看到这个变化有点心慌慌呀
关注者
79
被浏览
4,539
rollup 只是用于 Vue 发布文件的构建,对用户使用没有直接影响。

之前用 webpack 打包,还是会自带一个小型的动态 module 加载机制,并且每个文件是包在一个模块函数里的。rollup 打包通过重命名 import binding 直接把所有文件的函数都放在同一个函数体里面... 所以最终出来的文件会小一些,并且初始化快个十几毫秒的样子。

1.0.10 以后 npm 包里包含的是:
  • dist/vue.common.js - 一个 rollup 构建后的单个 CommonJS 文件,package.json 里面的 main 指向这里。用 Webpack 或是 Browserify 打包,获取到的是这个文件。
  • dist/vue.js 和 dist/vue.min.js - 构建后的可直接用于 <script> 引用的文件
  • src - 源文件,ES6(目前只用了模块语法)。package.json 的 esnext:main 指向 src/index.js。用 jspm 或是 rollup 打包,获取的是 ES6 的源文件。
---
想起来,对于用户来说有一个实际变化就是没有办法再用 require('vue/src/xxx') 的方式直接获取 Vue 内部的模块,不过本来就不推荐这样做。