您现在的位置:首页 --> 查看专题: 模块
在2014年7月底,TC39 召开了一次会议,在此期间ECMAScript 6(ES6)模块语法的最后细节被最终确定。这篇博客文章概述了完整的 ES6 模块系统。
原文日期为 2014-09-07 ,请用当时的环境浏览本段内容
如今JavaScript模块化编程的概念已经普及开来,一提起模块化,大家想到的可能是AMD,CMD,requirejs或seajs。其实还有很多其他的概念。本文将会陈述下JavaScript模块的前世今生。
SeaJS是一个遵循CommonJS规范的JavaScript模块加载框架,可以实现JavaScript的模块化开发及加载机制。与jQuery等JavaScript框架不同,SeaJS不会扩展封装语言特性,而只是实现JavaScript的模块化及按模块加载。SeaJS的主要目的是令JavaScript开发模块化并可以轻松愉悦进行加载,将前端工程师从繁重的JavaScript文件及对象依赖处理中解放出来,可以专注于代码本身的逻辑。SeaJS可以与jQuery这类框架完美集成。使用SeaJS可以提高JavaScript代码的可读性和清晰度,解决目前JavaScript编程中普遍存在的依赖关系混乱和代码纠缠等问题,方便代码的编写和维护。
用JavaScript写程序,通常要经历两个阶段:第一个阶段是采用一些模块来擦除JavaScript语言(跨平台)自身的问题;第二个阶段是自己写一些方法来擦除引入的模块的问题。第三个阶段才会真正进入业务开发中,前两个阶段俗称“擦屁股”。时常在第三个阶段时,我会陷回到第二个阶段,和各种模块碰撞,往往会引起一些心情上的不舒爽。而在接触到moment时,这些烦恼瞬间消散,我在心底知道为何会如此释怀,如碰到心仪的女神。这也让我回头反思过去在使用和写模块过程中遇到的挫折和收获,这落差让我产生了如此的冲动,此文算是一个总结,期望能在汲取优秀模块的经验中,国内开源社区能够成长起来。
前言 Nginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%。与Apache相比,Nginx在高并发情况下具有巨大的性能优势。 Nginx属于典型的微内核设计,其内核非常简洁和优雅,同时具有非常高的可扩展性。Nginx最初仅仅主要被用于做反向代理,后来随着HTTP核心的成熟和各种HTTP扩展模块的丰富,Nginx越来越多被用来取代Apache而单独承担HTTP Server的责任,例如目前...
与 LABjs, HeadJS, ControlJS 等 script loader 不同,RequireJS 是 module loader. 什么是 module 呢? CommonJS 模块系统 孟岩在 救赎 一文中提出,在对象范式里,一个对象系统的构建有两个基本观念: 程序是由对象组成的; 对象之间互相发送消息,协作完成任务。 以上观念,可以普适化。对于一般系统的构建,可以归结为: 系统由系统成员组成; 成员之间互相通讯,协作完成任务。 系统成员可大可小,可方可扁,可以从不同角度去...
因为一些需要,我也开始涉及nginx的模块开发,在看了一些资料后,写了自己第一个nginx模块。 其实nginx模块开发还算比较容易,网上开源的模块已经很多,都可以借鉴,令我震惊的是OAuth的模块都有。 nginx模块比较起来一些后端语言的实现,最重要的特点就是速度快了,这个无可厚非,nginx模块与apache的区别就是,apache是加载so模块,而nginx是直接将模块编译到主程序里。在我的简单测试下,一个业务逻辑非常简单的模块,可以达到1...
我们最常用的 DBD::mysql 模块,我发现是难住很多人的地方。因为安装老是失败,下面我介绍一下解决方法,比如我使用 cpanm 安装,有时就出...
有些时候,我们并不需要一些特殊的模块,或者个别模块对我们的硬件支持不是那么好,这就需要在内核将它们关闭,编辑下述文件即可:[root@imysql.cn ]# cat /etc/hotplug/blacklist## Listing a module here prevents the hotplug scripts from loading it.# Usually that\'d be so that some other driver will bind it instead,# no matter which driver happens to get probed first. Sometimes user# mode tools can also cont...
现在使用 Nginx 的网站多了,所以我们试下,来使用 Perl 来开发 Nginx 的模块。比如可以做一些个性的设置,防盗链,SSI ,Header 替换之类一些特别的作用。另外,我们还可以使用 Nginx 加 Perl...
Perl中有很多以$开头的特殊变量,如果使用得当,可以写出简洁高效的代码,但对于阅读代码来说就带来了一些困扰。因此Perl内置了名为English的模块,对这些特殊变...
这是一个困扰我很长时间的问题,曾经由于没有思路,一直搁置没有去追究,现在要对该模块做一些修改,就想顺便把这个问题给查明白了,事情是这样的...我们写了一个PHP模块String2Hash,其实里面只有一个函数叫: String2Hash() ,只是要将一个字符串hash成一个整数,由于PHP中的整型都是有符号的,该算法涉及移位,求和,求模,等操作,用PHP实现比较麻烦,就用C写了一个PHP的模块。编译完之后,执行: php --re String2Hash就报...
最近在帮朋友更新一台服务器,把apache和php全部重新安装。首先使用在ports中将apache和php5,及php5-extension都deinstall了。不过有些地方还是卸载的不干净。甚至有很多关联软件都卸载不了。只能使用pkg_delete -f来删除了。删除过程就不多讲了。现在删掉了以后,重新安装apache和php5和php5-extension都挺顺利的,可是调用phpinfo时,却总是缺少了pcre这么模块。查看了extension.ini确实有加载pcre.so,重启apache还是没看到p...
经过几个小时的折腾终于把apache module的开发环境搞好了.其实很简单,但是网上很多过时的资料误导性还是很强.很容易上钩的说. 首先把apache源码下载下来,解包. wget http://apache.freelamp.com/httpd/httpd-2.2.14.tar.gz tar xzvf httpd-2.2.14.tar.gz wget http://apache.freelamp.com/httpd/httpd-2.2.14.tar.gz 然后编译安装,指定了路径和启用了so. ./configure --prefix=/home/easy/dev/apache2 --enable-so make make in...
在2009年Facebook Developer Garage Shanghai活动上,Five Minutes程延辉 介绍开心农场架构,让大家了解了SNS game的一些挑战和设计模式。由于农场游戏风靡全球,最近highscalability.com网站采访了美版开心农场FarmVille的Luke Rajlich,他介绍了FarmVille的部分架构资料(1)。 (Via: highscalability.com) 所有模块都是一个可降级的服务 For any web application, high latency kills your app and highly variable latency eve...
[ 共16篇文章 ][ 第1页/共1页 ][ 1 ]
近3天十大热文
- [54] IOS安全–浅谈关于IOS加固的几种方法
- [52] android 开发入门
- [52] 如何拿下简短的域名
- [51] 图书馆的世界纪录
- [49] Go Reflect 性能
- [49] Oracle MTS模式下 进程地址与会话信
- [47] 【社会化设计】自我(self)部分――欢迎区
- [46] 读书笔记-壹百度:百度十年千倍的29条法则
- [37] 程序员技术练级攻略
- [29] 视觉调整-设计师 vs. 逻辑
赞助商广告