js模块化开发

将一个复杂的程序依据一定得规范(规则)封装成几个块(文件),并组合到一起。
块的内部的数据/实现是私有的,只是向外部暴露一些接口(方法)与外部模块通信。
降低复杂度,提高解耦性,部署方便。
好处:避免命名冲突;更好的分离,按需加载;更高的复用性;高可维护性。
模块化规范:
1、CommonJs:
每个文件都可以当做一个模块
在服务器端:模块的加载是同步加载的
在浏览器端:模块需要提前编译打包处理
语法:暴露模块=》module.exports = value && exports.xxx = value
暴露的本质是exports对象,因为exports 原本是个空对象。
引入模块=》require(xxx),第三方模块xxx为模块名,自定义模块xxx为文件路径。
服务器端实现:node.js
浏览器端实现:browserify
开发依赖:-dev
运行依赖:
2、AMD 异步模块定义
专门用于浏览器端,模块的加载是异步的。
语法:
暴露模块:
没有依赖的模块:define (function () {
return 模块;
});
有依赖的模块:[‘module1’,‘module2’]放置的是依赖的模块,m1,m2对应的是’module1’,‘module2’,即显式声明引入注入。
define ([‘module1’,‘module2’],function(m1,m2){
return 模块;
});
引入模块:
require([‘module1’,‘module2’],function(m1,m2){
使用m1,m2
})
实现(浏览器端):Require.js
定义没有依赖的模块:
在这里插入图片描述
定义有依赖的模块:
在这里插入图片描述
主文件配置:
在这里插入图片描述
baseUrl打开时代表的是主文件的出发点,不用的话是指出发点在main.js主文件。
在这里插入图片描述
如果在paths中的文件加了.js:
在这里插入图片描述
这是因为paths中的文件默认会加.js,如果我们在主文件的配置时给引入文件加了js,require.js并不会自动去重。
在这里插入图片描述
第三方模块的情况下:
主文件中映射路径:
在这里插入图片描述
jquery默认支持AMD,但是引入时必须是小写的jquery。
在这里插入图片描述
非默认支持AMD的第三方库的引入方式。
在这里插入图片描述

3、ES6
说明:
在这里插入图片描述
依赖模块需要编译打包处理是因为ES6语法部分浏览器仍然不支持。

在这里插入图片描述
在这里插入图片描述

cli => comma
nd line interface,命令行接口
rc文件:运行时控制文件

定义分别暴露文件:
在这里插入图片描述
统一暴露:
在这里插入图片描述
默认暴露:但是这种方式只能暴露出去一个数据,如果暴露多个数据,需要用对象包裹。
在这里插入图片描述

主文件:
(1)如果定义的模块采用的是统一暴露或者分别暴露的方式,在引入的时候必须采用对象解构赋值的方式引入,且引入的变量不可重名。
在这里插入图片描述
(2)默认暴露引入方式:
在这里插入图片描述
引入第三方依赖:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
babel js/src -d js/lib:此命令是将es6 代码转换成es5,且创建js/lib文件夹,将转换过后的文件放到lib文件夹下。
每一次修改完js之后都要babel && browserify 打包编译

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Amaze UI 开发思路通过拆分、封装一些常用的网页组件,以规范化采用云适配平台开发的移动网站,统一用户体验逐渐形成的。1、语义化 Amaze UI开发遵循语义化原则,意图通过类名(class)等信息直观传达元素的功能角色,同时关注结构、样式、行为分离,降低各部分的耦合程度,提高开发效率和可维护性。2、移动优先,跨屏适配 遵循 “移动优先(Mobile First)”、“渐进增强(Progressive enhancement)”的理念,可先从移动设备开始开发网站,逐步在扩展的更大屏幕的设备上,专注于最重要的内容和交互,适应移动互联潮流。轻松创建跨屏适配的网页。3、模块化,按需定制 AMUI使用LESS编写样式,结构良好,易扩展,易维护;使用Seajs模块化开发、组织 JavaScript,自然、优雅。4、专注于HTML5AMUI 基于轻量的Zepto.js开发,有效减少为兼容旧浏览器的臃肿代码;基于 CSS3 的交互效果,平滑、高效。AMUI专注于现代浏览器(支持HTML5),不再为过时的浏览器耗费资源,为更有价值的用户提高更好的体验。5、本地化支持相比国外的前端框架,Amaze UI专注解决中文排版优化问题,根据操作系统调整字体,实现最佳中文排版效果;针对国内主流浏览器及App内置浏览器提供更好的兼容性支持,为你节省大量兼容性调试时间。Amaze UI 的开发历程云适配创始人陈本峰:这个项目最开始是作为内部使用工具来开发的。我们云适配本身就是一个前端产品,Amaze UI能帮我们降低开发时间和成本,用标准化作业流程,能有更高的产出。从云适配创立之初,我们就开始积累自己的前端框架,同时也借鉴了Bootstrap等国外框架的优点。在内部使用过程中,大家一致反映不错,我们就希望把这个产品开源,希望分享给更多的人,也希望更多的人来贡献代码,来共建中国前端开源生态环境。在最近几个月,我们投入人力将这个项目整理成一个开源产品。目前有2个软件工程师全职在开发这个产品,还有一个设计,一个PM也在尽力配合。产品发布之后,我们会投入更多全职的工程师来专心打磨这个产品,同时也呼吁更多的前端开发爱好者共同来完善这个框架。Amaze UI的目标帮助开发者提高开发效率,提升网页效果,即用最短的时间做出最赞的网页,使更多的前端开发者不再受前端复杂代码困扰。下面是特性硬广Amaze UI 是中国首个开源 HTML5 跨屏前端框架,基于 React.js 开发的 Web 组件库。Amaze UI 是一个轻量级、Mobile first的前端框架, 基于开源社区流行前端框架编写。为移动而生Amaze UI 采用业内先进的 mobile first 理念,从小屏逐步扩展到大屏,最终实现所有屏幕适配,适应移动互联潮流。组件丰富,模块化Amaze UI 含近 20 个 CSS 组件、10 个 JS 组件,更有 17 款包含近 60 个主题的 Widgets,可快速构建界面出色、体验优秀的跨屏页面,大幅度提升你的开发效率。本地化支持相比国外的前端框架,Amaze UI 专注解决中文排版优化问题,根据操作系统调整字体,实现最佳中文排版效果;针对国内主流浏览器及 App 内置浏览器提供更好的兼容性支持,为你节省大量兼容性调试时间。轻量级,高性能Amaze UI 非常注重性能,基于轻量的 Zepto.js 开发,并使用 CSS3 来做动画交互,平滑、高效,更适合移动设备,让你的 Web 应用可以高速载入。 标签:Amaze

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值