首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

JS模块化编程以及AMD、CMD规范、Webpack

提示 由于CommonJS和AMD都十分流行,但似乎缺少一个统一的规范。于是,UMD(通用模块规范)出现了,它可以同时支持这两种风格。...虽然这个模式的写法比较难看,但是,它同时兼容了AMD和CommonJS,而且还支持老式的全局变量规范。 什么是JS模块化 先想一想,为什么模块很重要?...这就是AMD规范诞生的背景。 AMD是"Asynchronous Module Definition"的缩写,意思就是"异步模块定义"。它采用异步方式加载模块,模块的加载不影响它后面语句的运行。...目前,主要有两个Javascript库实现了AMD规范:require.js和curl.js。本系列的第三部分,将通过介绍require.js,进一步讲解AMD的用法,以及如何将模块化编程投入实战。...jquery.js,相当于默认配置了; 依赖非AMD规范的模块如果没用define(...)

2.2K10

AMD规范演化

上面的方法解决的方法被覆盖的问题,但没有解决模块化依赖的问题,这个问题的解决就要靠我们下面要说的AMD规范。...AMD模块开发规范 上面模块话的开发虽然解决的js的方法的覆盖问题,但js依赖的问题仍然存在,解决这个问题的终极方案就是AMD规范。...AMD规范就是其中比较著名一个,全称是Asynchronous Module Definition,即异步模块加载机制。...从它的规范描述页面看,AMD很短也很简单,但它却完整描述了模块的定义,依赖关系,引用关系以及加载机制。...规范 (本文完) 作者:老付 如果觉得对您有帮助,可以下方的订阅,或者选择右侧捐赠作者,如果有问题,请在捐赠后咨询,谢谢合作 如有任何知识产权、版权问题或理论错误,还请指正。

69250

js代码规范

前言 在js的代码开发中,我简单的总结出了以下规则,后面会陆续补充并且对规范进行分类。...js代码建议保存到后缀名.js的文件中 js代码不建议放在html中,原因有:不能被缓存,会增大网页文件的大小,可维护性不高,会影响页面的加载。...js吧任何表达式都当一条简单语句,会导致一些隐性的错误。如果自己没加分号,那么js解释器会自动添加分号,按照自己能读懂的断句。 9.2 复合语句 也称为语句块,被包在大括号内部。...变量作用域 js没有有块级作用域,只有函数作用域。 [] {} 的用法 使用直接量发来声明对象和数组。...比如对象 var obj={} ;var arr=[] eval eval是最容易混乱使用的js函数,他可以执行内部入参的js函数或者表达式,可以直接解析变量。不建议使用 。

8.8K30

Javascript模块化编程(二):AMD规范

考虑到Javascript模块现在还没有官方规范,这一点就更重要了。 目前,通行的Javascript模块规范共有两种:CommonJS和AMD。...node.js的模块系统,就是参照CommonJS规范实现的。在CommonJS中,有一个全局性方法require(),用于加载模块。假定有一个数学模块math.js,就可以像下面这样加载。   ...这就是AMD规范诞生的背景。 十、AMD AMD是"Asynchronous Module Definition"的缩写,意思就是"异步模块定义"。...所以很显然,AMD比较适合浏览器环境。 目前,主要有两个Javascript库实现了AMD规范:require.js和curl.js。...本系列的第三部分,将通过介绍require.js,进一步讲解AMD的用法,以及如何将模块化编程投入实战。 (完)

1.1K80

Javascript模块化编程(二):AMD规范

考虑到Javascript模块现在还没有官方规范,这一点就更重要了。 目前,通行的Javascript模块规范共有两种:CommonJS和AMD。我主要介绍AMD,但是要先从CommonJS讲起。...node.js的模块系统,就是参照CommonJS规范实现的。在CommonJS中,有一个全局性方法require(),用于加载模块。假定有一个数学模块math.js,就可以像下面这样加载。   ...这就是AMD规范诞生的背景。 十、AMD AMD是"Asynchronous Module Definition"的缩写,意思就是"异步模块定义"。...所以很显然,AMD比较适合浏览器环境。 目前,主要有两个Javascript库实现了AMD规范:require.js和curl.js。...本系列的第三部分,将通过介绍require.js,进一步讲解AMD的用法,以及如何将模块化编程投入实战。 (完)

1.1K60

使用requireJS加载不符合AMD规范js文件:shim的使用方式和实现原理

一、加载underscore、backbone 理论上,require.js加载的模块,必须是按照AMD规范、用define()函数定义的模块。,require.js是否能够加载非规范的模块呢?...举例来说,underscore和backbone这两个库,都没有采用AMD规范编写。如果要加载它们的话,必须先定义它们的特征。shim属性,专门用来配置不兼容的模块。...: {       deps: ['underscore', 'jquery'],       exports: 'Backbone'     }   } }); 二、加载自定义模块 /* main.js...myCustomMod"], function(myCustomMod) { console.log(myCustomMod.max(1, 2, 3)); }) /* myCustomMod.js...body> 控制台中会打出结果 注意,在本地运行需要一个静态服务器(下述为简单的Node静态服务器) /* node-static-server.js

1.7K51
领券