HTML5技术

小型 Web 页项目打包优化方案 - 大转转FE(5)

字号+ 作者:H5之家 来源:H5之家 2017-07-25 11:00 我要评论( )

在构造器中,首先定义props参数的格式,并给上默认值。在init方法中,则将 data 中的参数赋值给props,这里一般是会有数据转化处理逻辑。 最后直接进行组件渲染。可以发现,如果想要使用其他模板引擎,是很容易替换

 

在构造器中,首先定义 props 参数的格式,并给上默认值。在 init 方法中,则将 data 中的参数赋值给 props,这里一般是会有数据转化处理逻辑。
最后直接进行组件渲染。可以发现,如果想要使用其他模板引擎,是很容易替换的。如果采用 SSR 服务端渲染组件,那可以各种模板库全放进来,一个工厂方法就可以进行自动化处理。
组件的参数被取名为 props,完全是仿造 Vue/React。因为它们的功能和定位基本是一样的,而且官方推荐的最佳实践这里也基本都推荐。具体这样做的几点思路如下:

  • 小项目做不到 Vue/React 的参数验证功能,但显式表示 props 参数有自描述文档的作用,需要哪些参数及其类型一目了然;

  • 构造器中同时给出了 props 默认值,无参数时组件有默认展示形式;

  • 参数只有一个 data 对象。Vue 推荐参数都用基本类型,但内容庞大时,属性繁多,分割成更小组件也不会减少多少使用的复杂性;

  • props 中的每一个属性不能是对象,只能是 Integer、String、Boolean、Array 等基本类型;

  • 对外公布事件

    将事件的触发封装到组件中也是为了减少业务的复杂性。很多 Web 项目中都是直接操作页面内容,用户交互、内容处理、业务逻辑都耦合在了一起,这里组件将用户交互封装起来,同时对外提供事件接口。代码如下:

     

    组件内部保存一个事件回调句柄 clickCallback,组件初始化时对用户点击事件进行数据绑定,并触发这个回调。

    结论

    本文简单描述了小型 Web 页面的定位,通过对小型 Web 页面的摸索和演化解释了当前项目结构的设计思路,并对其细节进行了详细描述,重点介绍了数据接入层和组件化开发。
    当前的项目并不是最终形态,而只是一个 α 版本的雏形,还有很多地方值得改善:

  • 针对首屏时间进行优化,比如支持 SSR;

  • 继续改善打包部署方案,灵活支持多页面部署,达到或接近离线应用的效果;

  • 一些好的 ES6 语法很值得支持,需要找到一个方法在打包层面上渐进式的引入特定语法;

  • 基于 Promise 的语法值得大面积采用,这是代码层面需要考虑的;

  • Webpack 挺好,但还不够好,希望插件能更成熟更丰富;

  • 可能还有很多点没考虑到,不过实际需求永远是最高优先级。只要不断的重构和改善,软件就会一直有生命力~

     

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • 微信小程序上手项目 - 雅X共赏

      微信小程序上手项目 - 雅X共赏

      2017-07-21 10:01

    • ASP.NET Core 开源论坛项目 NETCoreBBS - LineZero

      ASP.NET Core 开源论坛项目 NETCoreBBS - LineZero

      2017-07-19 15:01

    • 【前端】一步一步使用webpack+react+scss脚手架重构项目 - 张泰峰

      【前端】一步一步使用webpack+react+scss脚手架重构项目 - 张泰峰

      2017-07-06 10:02

    • ASP.NET Core Web 资源打包与压缩 - Sweet-Tang

      ASP.NET Core Web 资源打包与压缩 - Sweet-Tang

      2017-07-05 15:01

    网友点评
    q