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

    js 模块化发展

    从 CommonJS 之前其实都只是封装,并没有一套模块化规范,这个就有些像类与包的概念。...为什么模块化方案这么晚才成型,可能早期应用的复杂度都在后端,前端都是非常简单逻辑。后来 Ajax 火了之后,web app 概念的开始流行,前端的复杂度也呈指数级上涨,到今天几乎和后端接近一个量级。...说到这里,还想顺便提一下最近流行起来的响应式编程(RxJS),响应式编程中有一个很核心的概念就是 observable,也就是 Rx 中的流(stream)。...一句话,模块化仍在路上。js 模块化的矛头已经对准了 css 与 html,这两位元老也该向前卫的 js 学习学习了。...未来 css、html 的模块化会自立门户,还是赋予 js 更强的能力,让两者的模块化依附于 js 的能力呢?

    2.2K20

    模块化】:JS 模块化极简史

    便于依赖管理(无须手动组织JS文件顺序); c. 利于性能优化(异步模块加载); e. 提高可维护性; f. 利于代码复用; 2....传统模块化阶段 这一阶段,WEB 开发人员主要是利用 JS 语言的闭包、原型、函数作用域等特性,减少对全局命名空间的污染;方式方法各有不同,但结果都差不多,比较混乱... 3.1....CommonJS Node.js的诞生,使JavaScript扩展到了服务器端, 为了让JavaScript在服务器端能跟Java、Phyton一样编写大型程序,于是有了CommonJS模块化规范;...CommonJS是针对服务器端(非浏览器环境)的JavaScript开发,是Node.js的默认模块化规范; (2)....:通过JS的闭包、对象、自执行函数等语言特性,避免模块间的命名冲突,提高模块的内聚性,但无统一编程标准,也无法把模块间的依赖关系描述清晰; CommonJS:Node.js让JavaScript延伸到

    1.9K10

    js模块化例子

    最近在看一本书,里面提到js模块化,觉得很有必要,所以记录下来 Game.js /** * This is the main class that handles the game life cycle..._canvas.height); }; ---- boardRenderer.js /** * 这个类负责绘制,棋盘,球 * @param context the 2d context to draw..._rows; }; ---- boardModel.js /** * 这个类是负责保存/验证/返回当前游戏的状态 * 如当前的玩家是谁、每个单元格放的是什么球、 * 是不是谁赢了 * @param...this.reset(); } /** * 0代表单元格为空,1代表单元格有红色球,2代表单元格有绿色球 * 因为怕以后忘记这些数字代表什么,干脆把数字存到常量里,代码看起来易懂, * 但是这么多字,前端的js...* ps.变量名全大写表示这是常量,这是一个js程序员之间的约定,表达为 CAPITAL_CASED。

    4.7K20

    Android模块化专题(一)- 模块化概念和路由

    本文是对模块化专题介绍的系列文章,包含了以下四部分:《我所理解的Android模块化(一)——概念和路由》,《我所理解的Android模块化(二)——模块通信和模块间服务调用》,《我所理解的Android...模块化(三)——模块可插拔单独编译运行》,《我所理解的Android模块化(四)——常见问题和注意事项》。...笔者在公司的项目中使用模块化的方式开发APP已经快一年的时间,其中经历过以模块化的方式来重构项目中一些相对来说业务比较独立的模块。...说完了笔者使用模块化的背景,再来谈谈我对Android模块化的一些理解,如果理解的很浅显或者狭隘的话,还请各位多多指教; 下面说几个概念:  模块化:指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程...模块化之前的项目       ?            模块化之后的项目 ?

    81420

    ABAP 模块化编程概念详解

    模块化编程概念 模块化编程 基础概念 把程序中部分源代码储存到一个模块里 封装成一个特定的功能,可以认为是程序的一部分 公用的,多个程序都可以调用 (类似py中的函数) 优点 提高程序透明度 提高代码重用...简化程序维护 方便程序调试 样例 获取每月最后一天(函数) 获取当前时间(函数) 模块化编程内容 函数 子例程 宏 类 参数 用于在程序和模块之间交换数据 定义模块化单元的时候就确定了可以使用哪些参数...参数分类 输入参数——是用来传递数据给模块化单元 导出参数——把模块化单元中的数据返回给调用程序 变更参数——是把数据传递给模块化单元并返回更改后的数据 (传入内表,内表变动,传出变动内表) 函数的概念...ENDFUNCTION. demo演示 函数的调用 概念 调用 使用 CALL FUNCTION 语句调用 Function的名称采用单引号内包含大写字母的形式 在EXPORTING块中,系统会将值传递给...结果 子例程 子例程的概念 子例程概述: 子例程是源代码里具有一定独立功能的模块单元。

    1.5K21

    JS 模块化历史简介

    对于 JavaScript 来说,模块化是一个相对现代的概念,这篇文章会带你在 JavaScript 的世界里快速浏览模块化的历史进程~ Script 标签和闭包 在早些年间,JavaScript 就是直接写在...这种明确地声明依赖的写法让各个模块间的依赖都非常清晰,并且反过来促进了模块化的发展。 但是 RequireJS 并不是没有缺点。...Node.js 和 CommonJS CommonJS 模块系统是 Node.js 中众多革新的一个,也叫 CJS。...诚然,npm 主要服务于 CommonJS 模块和 JavaScript 包,由于简单的模块化语法和可复用性,大量 Node.js 和 web 浏览器的包出现在 npm 上,npm 也成为世界上最大的包管理器...ES6 规范中包含了一个原生的模块化系统,一般称之为 ECMAScript Modules(ESM)。

    2.2K20

    JS模块化和使用

    JS模块化和使用 很久以前就知道js模块化开发可以使用require.js和sea.js,就一直没去看看。...什么是模块化 模块化是指在解决某一个复杂问题或者一系列的杂糅问题时,依照一种分类的思维把问题进行系统性的分解以之处理。模块化是一种处理复杂系统分解为代码结构更合理,可维护性更高的可管理的模块的方式。...这些规范的目的都是为了 JavaScript 的模块化开发,特别是在浏览器端的。目前这些规范的实现都能达成浏览器端模块化开发的目的。...RequireJS 和 Sea.js 都是模块加载器,倡导模块化开发理念,核心价值是让 JavaScript 的模块化开发变得简单自然。...回调函数的参数(math)对应的是引入模块(js/1_math.js)的别名(别名可以随意命名) */ require(['js/1_math'],function(math){ console.log

    1.7K20

    Js模块化导入导出

    Js模块化导入导出 CommonJs、AMD、CMD、ES6都是用于模块化定义中使用的规范,其为了规范化模块的引入与处理模块之间的依赖关系以及解决命名冲突问题,并使用模块化方案来使复杂系统分解为代码结构更合理...// 1.js var a = 1; var b = function(){ console.log(a); } module.exports = { a: a, b: b...Module Definition规范,是浏览器端的模块化解决方案,CommonJS规范引入模块是同步加载的,这对服务端不是问题,因为其模块都存储在硬盘上,可以等待同步加载完成,但在浏览器中模块是通过网络加载的...--> CMD CMD通用模块定义,是SeaJS在推广过程中对模块定义的规范化产出,也是浏览器端的模块化异步解决方案,CMD和AMD的区别主要在于: 对于依赖的模块,AMD是提前执行(相对定义的回调函数..."; // 导入export import m1 from "./1.js"; // 不加{}即导入export default import {c} from "./1.js"; /

    3K20

    JS相关概念

    (2)JS 如果JS文件很小放在前面head里或后边body闭合标签之前都可以。如果JS文件很大则应该放在后面body的闭合标签之前。...因为在加载 JavaScript时会阻止其他内容的下载,要等到JS文件下载解析完之后才会显示网页内容。若JS文件很大放在前面就会导致加载时间较长,网页会一直白屏。...还有一个原因是因为JS一般会涉及到一些DOM操作,所以要等全部的dom元素都加载完再加载JS。 2.为何出现白屏问题与FOUC无样式内容闪烁?... 有 defer,加载后续文档元素的过程将和 script.js 的加载并行进行(异步),但是 script.js 的执行要在所有元素解析完成之后... 有 async,加载和渲染后续文档元素的过程将和 script.js 的加载与执行并行进行(异步)。

    1.6K20

    【Node.js模块化学习

    Node.js教学 专栏 从头开始学习 目录 模块化的基本概念         什么是模块化                 现实中的模块化                 编程领域中的模块化...        模块化规范  Node.js中的模块化         Node.js中模块的分类          加载模块         Node.js中的模块作用域                 ...中的模块化规范 ---- 模块化的基本概念         什么是模块化                 现实中的模块化  小霸王游戏机就是模块化,游戏卡带 以及机器都是模块,模块化可以方便我们更换不同的游戏卡带...Node.js中的模块化         Node.js中模块的分类 Node.js中根据模块来源的不同,将模块分为了三大类,分别是: 内置模块: 有官方提供的模块,如http,path等; 自定义模块...Node.js中的模块化规范 Node.js遵循了CommonJS模块化规范,CommonJS规定了模块的特性和各模块之间如何相互依赖。

    1.8K20

    JS模块化开发的价值

    模块化方式开发的痛苦 (1)命名冲突 起初,我们定义了一个通用功能的JS文件,例如 utils.js(其中有一个 each 函数),谁需要谁调用即可 但随着项目和团队越来越大,就会出现问题 小杨在自己的...utils.js 其中的函数,在文档中明确指出使用 dialog.js时必须要先引入 utils.js 有一个 b.js,使用了 dialog.js,页面中就必须引入多个文件,并且顺序不能错 <script...1)开发人员常忘记引用被依赖的文件 2)要使用某个功能时,要引入多个其他文件,最后页面中的引用可能会非常多 模块化开发的好处 现在已经有了多个JS模块化开发规范和相应的具体实现,我们只要选择其中一种,...按照约定来开发,就可以完全避免命名冲突和文件依赖的问题 只需关心当前模块本身的功能开发,需要其他模块的支持时,在模块内调用目标模块即可 模块化开发示例 CMD是比较常用的模块化规范,下面就使用CMD方式作为示例...目录结构 |-js |--|-common |-------|-utils.js |--|-a.js //------utils.js------ define(function(require, exports

    1.6K40

    Node.js模块化开发

    2.生活中的模块化开发 ? 3.软件中的模块化开发 一个功能就是一个模块, 多个模块可以组成完整应用,抽离一个模块不会影响其他功能的运行。 ?...4.Node.js模块化开发规范 Node.js规定一 个JavaScript文件就是一 个模块, 模块内部定义的变量和函数默认情况下在外部无法得到....5.模块成员导出 // a.js //在模块内部定义变量 let version = 1.0; //在模块内部定义方法 const sayHi = name =>`您好, ${name}`; //向模块外部导出数据...exports. version = version ; exports. sayHi = sayHi ; 6.模块成员的导入 // b.js //在b.js模块中导入模块a let a = require.../b.js') ; //输出b模块中的version变量 console.1og(a.version) ; //调用b模块中的sayHi方法并输出其返回值 console.1og(a.savHi('黑马讲师

    1.8K20

    Require.Js 前端模块化

    前端模块化 (Require.js) ? 为什么要用 前端模块化 早期,js代码量小, 所有Javascript代码可以都写在一个文件里面,只要加载一个js文件就够了。...Chrome 3+ ...... compatible ✔ Opera 10+ ...... compatible ✔ Get started then check out the API. --- */ 模块化的标准...通用模块定义 sea.js 依赖延迟:在需要的时候才去加载依赖项 模块化的实现(require.js) 下载后,把它放在目录下面,就可以加载了  <script src="<em>js</em>/require.<em>js</em>...文件路径 以 http:// 或者 https:// 开头的 第三方插件使用 支持<em>模块化</em> 用<em>模块化</em>语法引入 不支持<em>模块化</em> 没有依赖项,没有导出项,require直接引入 有依赖项,没有导出项 shim属性中进行配置.../youdaochuxiang", }, //require.js中可通过设置shim,让不支持模块化的第三方内容

    3.8K40

    JS模块化编程规范1——require.js

    概述 require.js是各种网络APP中非常常见的JS依赖库,它其实不仅仅是个模块加载器那么简单。它背后蕴含了一个非常重要的设计,也就是JS模块化编程。...模块化是任何一个编程语言都会支持的设计,通过模块化能够将一个重要的问题拆分成一个个小的问题,并且模块与模块之间不关联(或者弱关联),减小的程序的开发难度。...这样,如果大家都约定使用同样的模块化规范设计,从一个框架到另外一个框架就没有成本,并且可以互相加载引入。 这里通过一个计算幂运算的例子,详细论述require.js的使用。 2....定义 模块化设计当然应该先定义一个模块了,这里定义一个乘法函数模块(Multiply.js): //自定义模块 define(function () { "use strict"; var...参考 【第67期】ES6 系列之模块加载方案 Javascript模块化编程(三):require.js的用法 JavaScript的模块化编程

    3.3K10

    Java 模块化设计:概念与实战应用

    引言模块化设计是现代软件开发的关键,它帮助开发者构建可管理、可维护的大型系统。Java 平台的模块化支持始于 Java 9,引入了一种全新的模块系统。...本篇博客将介绍 Java 模块化设计的核心概念,并通过具体实例展示如何在实际项目中应用模块化设计。Java 模块化的核心概念1....实战应用:构建一个模块化的Java应用示例模块化架构模块 com.example.logging:提供日志服务。模块 com.example.data:处理数据存取。...; }}结论模块化设计使 Java 开发者能够构建更加结构化和维护的应用程序。通过定义清晰的模块界限和依赖关系,可以提高代码的可读性和可管理性,同时降低长期维护的复杂性。...希望本篇博客能帮助你理解 Java 模块化设计的概念,并在你的项目中实施它以实现更好的结构和效率。我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

    38721

    Js模块化开发的理解

    Js模块化开发的理解 模块化是一个语言发展的必经之路,其能够帮助开发者拆分和组织代码,随着前端技术的发展,前端编写的代码量也越来越大,就需要对代码有很好的管理,而模块化能够帮助开发者解决命名冲突、管理依赖...描述 模块化开发其实就是封装细节,提供使用接口,彼此之间互不影响,每个模块都是实现某一特定的功能,同时也需要避免全局变量的污染,最初通过函数实现模块,实际上是利用了函数的局部作用域来形成模块。...,开发者通常使用Module设计模式来解决Js全局作用域的污染问题。...CommonJs、AMD、CMD、ES6都是用于模块化定义中使用的规范,其为了规范化模块的引入与处理模块之间的依赖关系以及解决命名冲突问题,并使用模块化方案来使复杂系统分解为代码结构更合理,可维护性更高的可管理的模块..."; // 导入export import m1 from "./1.js"; // 不加{}即导入export default import {c} from "./1.js"; /

    2.1K60
    领券