应用require.js进行javascript模块化编程小试一例
发布日期:2021-06-30 17:26:37 浏览次数:2 分类:技术文章

本文共 1261 字,大约阅读时间需要 4 分钟。

长久以来都渴望应用javascript的模块化编程。今日紧迫更甚,岁月蹉跎,已经不能再等了。

拜读阮一峰的有关文章已经好几遍,文章写得真好,简洁流畅,头头是道,自觉有点明白了。但经验告诉我们,一定要亲手试一试。

一试之下,果然走了一些弯路,加深了理解。

一、下载require.js

http://requirejs.org/docs/download.html

**二、编写相应测试代码。**计有:

页面:/index.html
主体结构定义JS:/main.js
符合AMD规范的模块化JS:

/js/amd/module-A.js/js/amd/module-B.js

传统意义上的,不符合AMD规范、非模块化的JS

/js/noamd/file-C.js

这里写图片描述

代码如下:

//module-A.js//define方法,应该是在require.js定义的。这也是AMD规范的内容之一define(function (){
var add = function (x,y){
return x + y; }; return {
add: add };});
//module-B.js//依赖于moduleAdefine(['moduleA'], function(ma){
function compute(x,y){
return ma.add(x,y); } return {
compute : compute };});
//这是一个传统意义上,非AMD规范的JS;但是,还是要符合一定的规范:需要返回一个对象,以便在main.js里进行exports,然后外部才能进行使用(使用这个对象里面的方法)。var objectC = (function(){
function multiply(x,y){
return x * y; } return {
multiply:multiply }})();

至关重要的main.js

//main.js//重点在于如何映射非规范模块require.config({
baseUrl: "js", shim: {
'moduleC': {
deps: [], exports: 'objectC'//这个名字,跟file-C.js里的"var objectC=..." 对应 } }, paths: {
"moduleA": "amd/module-A", "moduleB": "amd/module-B", "moduleC": "noamd/file-C"//非规范化文件这一步也是要的,并非单单在shim里定义了就行 }});

这里写图片描述

瞪灯瞪等!且看如何应用:

index.html

			

参考文章:

转载地址:https://leftfist.blog.csdn.net/article/details/59544828 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:lambda
下一篇:去除重复数据的SQL语句

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月12日 11时30分36秒