雨夜带刀's Blog

easy.js的模块加载器的详解

模块加载器的实现方法应该比较多,主要还是看哪种实现起来更简单,更易扩展。对于遵循不同规范的模块加载器,实现原理又千差万别。不管是用哪种实现方法,最终都是要满足模块加载器的那些最基本的功能。那么模块加载器的最基本的功能基本就可以概括成下面这几点。

  • 定义模块
  • 处理依赖
  • 加载模块

定义模块

define( "hello", function(){
 return "hello world";
});

模块化的JavaScript开发的优势在哪里

如今模块化的 JavaScript 的开发越来越火热,无论是模块加载器还是优秀的 JavaScript 模块,都是层出不穷。既然这么火,肯定是有存在的理由,肯定是解决了某些实际问题。很多没接触过模块化 JavaScript 开发者不禁要问,我真的需要模块化吗,模块化相比于传统的模式有什么优势?

JavaScript 本身是没有模块化支持的,很多语言多有,就连 CSS 都有这样的加载方式。

@import "fed.css";

虽然因为性能问题不推荐 CSS 这样来进行加载,但这是一种模块化的思想,这种思想对于 JavaScript 来说很有用。幸好 JavaScript 是一门灵活的语言,可以通过下面这段代码来进行动态加载 JavaScript 文件。

var script = document.createElement( 'script' ),
	head = document.head;

script.src = 'http://example.com/test.js';
script.async = 'async';

head.insertBefore( script, head.firstChild );

第三版主题上线

这是本博的第三版主题了,之前的主题一直以绿色为基本色,虽然我一直挺喜欢绿色的,但这次还是换成低调的灰色吧。

这次的主题更加符合阅读习惯,虽然增加了侧边栏,但看起来更简洁了。由于我对于圆角和渐变的设计风格已经有心理阴影了(因为平时工作,UI设计师总是搞些这样的设计风格来增加图片的体积),所以本次的主题没有用到任何的圆角和渐变的设计风格,不用这些照样可以有优雅的界面,让那些只会影响页面性能,为了设计而设计的圆角和渐变的设计风格去死吧。

最后还是要纪念下上一版拉风的主题:

纪念拉风的第二版主题
头像

雨夜带刀

前端开发工程师,技术宅,现居北京。

雨夜带刀的开源项目

easy.js
一个简洁的 JavaScript 类库,集成了模块加载器,同时也有包含了常见的的组件库,可访问项目网站
seed
符合 AMD 规范的 JavaScript 模块加载器。
ecope
从 easy.js 组件库中移值过来的基于 jQuery 的组件库,简单实用,API 风格统一。