typescript – 非SPA站点的Angular 2缓慢初始化
我们正在为一个项目评估Angular 2,我注意到一些问题,我需要澄清这是一个Angular问题还是我使用Angular错误.
我们正在用Angular替换部分静态页面以增强用户体验.由于替换的元素可以位于页面上的任意位置,因此我们无法引导单个Angular应用程序(组件在DOM中不像树一样,我们需要传统的模板).我们也没有使用任何Angulars路由. 因此,第一个问题是Angular是非SPA网站的正确技术.要构建’小部件’. 第二个问题是关于表现.如果您有非SPA页面,则无法省略页面重新加载.每次页面重新加载时,都必须再次初始化Angular.这里的好处是,实例化多个根组件不会显着增加引导程序,所以这是一个加号.不好的是,如果我使用Quickstart tutorial中的配置,我需要大约1.7s来初始化应用程序和组件,并且很多时间都归因于system.js,类加载器.将此更改为webpack并预编译所有内容仍需要300-400毫秒才能显示组件. This页面与我的组件有一个非常相似的引导程序. 这可以进一步优化(比如说< 130ms)或者我应该寻找其他技术(例如React),因为它不在Angular的范围内用于非SPA页面. 干杯 汤姆 解决方法
您可以对<进行更多优化. 130ms标记.我目前正在开发一个混合应用程序(一些页面是静态服务器渲染,其他页面包含Angular小部件,包括路由),我们的加载/渲染时间非常快.我们正在使用AOT,每个小部件的应用程序包大约是50kb.我正在使用webpack并输出单个polyfill和单个供应商包,它们加载到原始布局上并被缓存.这样,每个页面只需要为该页面包含的任何Angular小部件下拉应用程序包. AOT让世界变得与众不同.此外,请确保您已将应用程序构建得很好,即不加载整个RxJS库,而只加载您需要的运算符.另外,要注意你的结构你的桶是什么,因为它可以导致不需要的代码不被树木震动.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |