模块化编程-requirejs

本文详细介绍了模块化编程的重要性,尤其是针对JavaScript中的变量冲突问题。文章探讨了早期解决冲突的三种方法及其局限性,并提出模块化开发是最佳解决方案。重点讲解了RequireJS的使用,包括其AMD规范、模块定义与引用、文件依赖管理和配置。通过RequireJS,开发者可以避免变量冲突,简化代码结构,实现高效协同开发。同时,还提及了Seajs作为另一种模块化选择,以及模块化开发的优点和流程。
摘要由CSDN通过智能技术生成
模块化编程:
 
如何在实际开发过程中,解决变量名冲突?
早期是通过:
给变量名添加前缀
放入对象中
放入一个自执行的函数
目前最好的方法是: 使用模块化开发。
早期的三种方式解决变量名冲突,但是这三种都有缺陷,其中前两种,变量名和对象名,虽然说几率小,但是还是会有一定几率会重复,第三种的话,放在一个自执行函数中,只会有两种情况:当函数执行完毕,里面的数据就无法取出。或是函数一直执行,但是这样的话数据就一直存在在内存里面,非常消耗性能的。
综和后两种方法的缺点,我们发现 模块化开发能完美的避免对象名冲突,以及函数中变量无法随用随取的缺点。
我们只需要在一个单独的js 文件中进行变量和方法的定义,在需要引用这里面的变量时,就通过require 属性,把这个js 文件变成一个对象的形式进行引入。这样我们就可以通过对象的方式,调用到该js 文件中的变量和方法,从而避免了变量名冲突。
 
js 文件中进行其他 js 文件引入的方法:
1 ,先在被引用的js 文件中,把js 文件透过exports 属性开一个口,使其他js 文件能够通过require 属性访问到。
2 ,在当前js 文件中通过require 方法引入暴露出的js 文件,并将其赋值给一个变量,该变量就代表了被引用的js 文件暴露出的{list:list,get:get} 这个对象,暴露出的是什么,引用过来的就是什么,一般都是以对象的形式暴露出数据,并且只要被引用的文件中跟list 或是get 有关的数据,就都能获取到。(注意: 引入文件时前面的 ./ 是必加的 ,并不是去到上一层)
 
 
模块化开发:
         模块化开发是由commenjs 规范提出的,但是commenjs 规范不支持浏览器,所以我们需要通过一些手段,比如说requirejs seajs angular…. 来实现模块化开发并兼容浏览器,同时,我们还可以通过一些前端构建工具来对我们的文件进行编译,从而实现模块化。
         后端语言中,node.js 全面支持commenjs 规范
         模块化构建工具:webpack gulp grunt 等也是支持commenjs 规范。
       这里我们主要来了解一下通过一些固定的手段来完成模块化,完成模块化的手段一般分三个:
         首先,模块化编程有三种规范,AMD,CMD,UMD ,其中:
         AMD
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值