前端模块化

这个问题其实我有遇到过几次,但是前几次我都觉得我的理解没有什么错误,可是今天的面试让我觉得,我的理解一定不对。

我之前的理解,模块化<——>重复利用。×也可以说是不全对。


有一个地方我说的还可以,就是在ES6之前是commonJS->nodeJS 使用的require和export机制来进行模块的引入和暴露出去

后来的ES6是使用的import和export来进行模块的引入和暴露出去


那么为什么有这些东西?

一、设计重用,以最少的模块、零部件,更快速的满足更多的个性化需求。因为有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。

将经常使用的代码可以封装起来,在使用的时候,进行代码的进入。

把别人的代码包下载下来进行进入使用,也可以将自己的代码打包暴露接口出去。方便后续使用

在JS文件中,可以将方法封装起来,暴露出对象创建方法,后续可以使用对象方法。(方法的封装);

二、还有一个问题,就是解决的同名问题。多个模块和当前JS对于同一命名并不敏感。

var y=require("./yes.js"); y.show();

var w=require("./no.js");w.show();

这两个并不冲突,完美运行。


在原来的多个JS文件进入后,可能会造成相同名字的方法的不同定义,有可能在方法的使用时不能用到自己理想的方法。


那么问题来了,如果,一个模块中有相同的两个方法呢?——>后者覆盖前者方法。


三、利于模块升级,代码管理。

不解释。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值