angular 打包策略?

angular 打包的时候面临两种选择, 是将所有的文件压缩在一个文件里来减少请求次数
还是把基础的, 不太会更改的文件打包到一起, 然后按照模块打包在一起, 以加强未来更新文件时使用缓存的可能性?

阅读 5.9k
4 个回答

个人认为,应该结合项目的实际情况,和开发人员情况决定。

  • 如果是中小型项目,完全没必要按需加载,也没有使用requireJS的必要,将所有文件压缩成一个就行。

  • 如果是大型项目,考虑到性能的话,按需加载是必须的,但是用不用requireJS,你就需要自己考虑清楚,反正我是不会用它的,因为AngularJS module和 RequireJS module是两个完全不同的东西,一个注入实例,一个注入class或是方法。非要把两个东西硬生生的用在一起,总感觉很奇怪,如果是我,我会选择ui-router + ocLazyLoad的方案,当然 webpack + ES6的方案也不错,这两种给人的感觉会很自然。

关于 RequireJS + AngularJS, 可以参考Thomas Burleson Angular and RequireJS 视频 翻墙 代码
关于 ui-router + ocLazyLoad,可以参考sb-admin-angular 代码
关于 webpack + ES6 楼上同学有提到,这个不太熟悉,不过前几天看到coding.net 他们是这样干的。https://blog.coding.net/blog/the-path-of-the-coding-front-end-refactoring

我们是用grunt把第三方的打成一个文件,自己的模块打包成一个模块。我觉得,第三方的比自己的大多了,打成一个请求速度要慢一些,但是完全不会超过一秒,所以自己的没必要分几个模块,当然我们是可以分模块打的。

建议用requirejs按需加载,特别是如果应用要在移动端用。

推荐问题
宣传栏