北京沣登科技发展公司

J***aScript打包工具,js打包工具有哪些

大家好,今天小编关注到一个比较意思的话题,就是关于JavaScript打包工具问题,于是小编就整理了1个相关介绍JavaScript打包工具的解答,让我们一起看看吧。

  1. 前端开发如何包装可重用的JavaScript代码?

前端开发如何包装可重用的J***aScript代码

包装可重用的J***aScript代码有多种方法,我说一下我常用的2种方法。举例说明吧,这样容易理解一些。

style="font-weight: bold;">案例:封装一个授课老师对象这个老师有一些属性,比如名字,性别,课程扩展方法是输出这位老师授课的名称。

JavaScript打包工具,js打包工具有哪些div>
图片来源网络,侵删)


第一种是***用new声明方式

方法步骤:

JavaScript打包工具,js打包工具有哪些
(图片来源网络,侵删)

1.创建这个老师这个对象,以及初始化

function Teacher (name,***,course){

this.name = name;

JavaScript打包工具,js打包工具有哪些
(图片来源网络,侵删)

this.*** = ***;

this.course = course;

谢谢邀请!关于前端如何包装自己的代码。其本质说的就是一个组件化的问题,目的就是最大程度上提升开发效率。下面我就前端如何更高效的进行组件化开发,谈一下前端如何包装自己的共享代码。项目开发方式分组件化和非组件化。先讲讲组件化。毕竟主流

一、组件化

组件化开发分同一个业务内和不同业务之间如何包装共享代码问题。1. 同一个业务内:话不多说,先来看一张图。如上图所示:其实任何一个项目都是由一个或者两个或者N个页面组成,在组件化的开发模式下,每一个页面的开发过程,其本质就是变成了,将一个页面如何拆分成不同的业务组件,这其中,有两种情况:(业务组件)比如一个组件,它是和业务还是有关系的,被多个页面所引用的话,我们是可以把它抽离成一个公共组件的。另外一种(公共组件),完全和业务没有关系的,不旦在业务内可以使用,而且可以跨业务使用,可以抽离成更基础的组件。接着往下就是基础模块,它属于这种非UI的模块,涉及到一些功能型组件,如格式化时间数据登录,上报代码等。最后一层,也是最底层就是项目的构建层,包括打包依赖资源安装升级部署等等。如此看来,对于业务内如何包装共享代码就一目了然了。只要按照这几个层次来划分(在业务内封装可重用组件,至于如何来封装一个更优的组件,也是有些详细的讲究,这个主题回头也可以开篇来详述),即使多人合作开发也不会出乱。稳中有序2. 不同业务之间同样先来看一张图:如上图所示:如果两个不同业务之间,出现相同的功能及相同业务组件需要复用的话,就会出现不停的被COPY。一旦组件出现改动,就需要打开多个项目进行个性,出现遗漏还得背锅。copy这种方式也极其容易出错。不是一个有效的工作方式。因此,我们可以将这公用组件代码包装成一个NPM安装包(公共组件,基础组件),将项目初始架构包装成一个脚手架。这样在新开一个业务需要复用这些东西的时候,只需命令式安装和组装,然后改改UI就完事了。当然,这里会涉及到NODE命令行工具的开发及NPM安装包的封装,具体封装细节下回也可以详细来讲讲。

二、非组件化

如果你的JS代码是一个大文件,找机会把可以重用的功能提取到自包含的对象中,放入到一个单独的库中。若发现已经有了在所有项目开发中重复使用的一组函数,考虑将它们打包,以通过一个对象直接量来重用。下面举一个简单的例子:下面这段代码,包含三个可以在各个业务中高度复用的功能。可以将上面这段代码写在一个字面量里自由调用。当然,有时间或者有兴趣的可以自己来封装一个类似于JQ的库,一个属于自己调用的基础库,也是一种极其优越的代码包装方式。总结一下:代码包装也可以根据实际的场景来做,在你的业务场景的复用性极高的功能都可以包装成一个公共JS方法,或者组件,或者安装包,总之,我们最终的目的就是提升二次开发效率。

设计的时候先考虑把大的功能划分到不同服务中。这样各个大功能之间的耦合就只存在在服务间的接口契约中。再来看同一个服务(大功能)内部如何设计。核心还是低耦合,高内聚。理想情况是把一个大功能实现需要实现的小功能点拆分成一个个小功能点,由一个主要业务类处理一个业务功能点。如果小功能点之间需要交互,也可以考虑用主要业务类对外暴露的接口进行契约约定(例如只能调用接口)而不是直接主要业务类之间直接的任意代码调用。至于如何约束所有开发做到,可以通过静态代码扫描等方式。另外一些典型的面向切面的需求可以考虑用AOP来做。

多参考一些经典的JS插件库,平时的时候多尝试自己去封装一些js插件。这样可以迅速提高自己的js开发能力

到此,以上就是小编对于J***aScript打包工具的问题就介绍到这了,希望介绍关于J***aScript打包工具的1点解答对大家有用。

[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。 转载请注明出处:http://www.fengdengtech.com/post/17790.html

分享:
扫描分享到社交APP