选择polymer2
而不是Angular
框架,因为我从一些博客中读到,与Angular2/5构建相比,Polymer为产品贡献的构建大小更小,
我创建了两个演示项目,一个用于 Angular5,第二个用于 Polymer2。
对于 angular5,我运行
npm new angular5-demo --service-worker --routing
对于 polymer 2
polymer init
Press the down arrow until polymer-2-starter-kit is highlighted and press the enter / return key to select.
当我运行项目时
ngserve --prod
和
polymer 服务--open
与 Angular 相比,它显示了大尺寸的 polymer 项目
transfered data:
angular : 60-70kb
polymer : 50-204kb
最近我浏览了许多关于 polymer 的博客,他们声称 polymer 构建尺寸比 Angular 钢小 4-5 倍
提到了一个博客链接 here
那么,我是否缺少从 polymer 站点为 polymer 项目中的产品构建的东西。
请帮我找出问题所在。
更新:
polymer
polymer build
serve -g /build/es6-bundle
transferred data : 56.3KB
bundle size of zip file : 204KB
Angular
npm start --prod
transferred data : 64KB
bundle size of zip file : 67KB
最佳答案
您似乎没有进行公平的比较,因为:
ng serve --prod
命令构建代码的生产版本,包括缩小。polymer serve --open
命令提供项目的原始未缩小版本(这里根本没有完成构建)。对于polymer-cli
要提供构建输出目录,必须将该目录指定为参数。您将比较标记为“传输的数据”,因此我假设您比较了整个应用程序下载的总字节数,而不仅仅是框架/库源(并且您确认了这在评论中)。除非你构建了
polymer-2-starter-kit
的 Angular 克隆,大小比较将会出现偏差,因为它们是两个完全不同的应用程序。您链接的文章正在比较 Angular 和 Polymer 本身的大小;不是创建的应用程序。另请注意,版本与您正在测试的版本不同,因此大小差异可能不再准确。这是文章/博客的屏幕截图:
polymer-2-starter-kit
的生产版本(从 polymer build
命令生成)可以在 build/es6-bundled/
中找到。要提供该构建输出,请运行 polymer serve build/es6-bundled
。您会注意到生产版本的第一个 View 在 Chrome 上传输了 56KB,在 Firefox 上传输了 387KB(因为在后一种情况下加载了所需的 Web 组件 polyfill)。
关于angular - 为什么我的 Polymer 2 构建尺寸比 Angular 5 构建尺寸大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49870729/