1.传统的开发模式:这个网页就写一个js,所有的特效都在这个里边
缺点:耦合度太高,代码关联性太强,不便于后期维护,会造成全局污染。
发生请求的次数太多,依赖模糊,难于维护
2.模块化开发
(1)为什么要使用模块化?
减少代码之间的关联度,部署方便,更好的分离,按需要加载,比免命名冲突,容易维护。
(2)什么是模块化?
模块化就是将js文件按照功能分离,根据需求引入不同的文件中。
在前端开发中,最先出现在node.js中,common.js中(module.exports和require)随着web应用的模块化,在浏览器端页是需要进行模块化开发,早期AMD,CMD规范,代表Require.js和sea.js。
commonjs是node的规范,运行在服务端,不是浏览器端,如果使用在浏览器端,需要使用对该文件进行打包编译(借鉴browserify,webpack,gulp等)
书写模块的时候,对外暴露接口module.exports={} exports.xxx=
引入模块:require(路径)
commonjs暴露的本质是一个叫exports的对象
module.exports={}和exports.xxx=
二者的本质都是一样的,都是暴露一个exports对象
(3)注意:commonjs是node的规范,但他是同步加载的,同步加载在浏览器中就是一个坑,只要一个环节卡住了,后面的就没发执行。所以不建议使用,如果要使用需要编辑打包。