`
zhouyrt
  • 浏览: 1162683 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JavaScript在服务器端的模块化

 
阅读更多

服务器端的JSer是幸运的,它有NodeJS,NodeJS遵循了一个称为CommonJS的规范。CommonJS其中就有对写模块的标准化。当然模块化只是其中的一部分而已。具体来说NodeJS实现了

 


模块化方面它实现了Modules/1.0(已经更新到1.1.1 )。

以下是node中是写模块的一个示例。

math.js 文件
exports.add = function() {
    var sum = 0, i = 0, args = arguments, l = args.length;
    while (i < l) {
        sum += args[i++];
    }
    return sum;
};

increment.js
var add = require('math').add;
exports.increment = function(val) {
    return add(val, 1);
};
 
main.js 文件,该文件为入口文件
var inc = require('increment').increment;
var a = 1;
inc(a); // 2
 

这就写了一个math、increment、main模块。math提供了add方法来实现数字相加。increment模块依赖于math模块,它提供increment方法实现相加。main获取到increment方法,执行相加操作。

 

我们看到

1,node要求一个js文件对应一个模块。可以把该文件想象成一个匿名函数,所有代码都在匿名函数中,其它模块不可访问除exports外的私有变量。

2,使用exports导出API。

3,使用require加载其它模块。


CommonJS module基本要求如下
1,标示符 require,为一个函数,它仅有一个参数为字符串,该字符串须遵守Module Identifiers 的6点规定。
2,require方法返回指定的模块API。
3,如果存在依赖的其它模块,那么依次加载。
4,require不能返回,则抛异常。
5,仅能使用标示符exports导出API。


Modules/1.1较1.0仅增加了标示符module,require函数增加了main和paths属性。而仔细比对1.1与1.1.1后发现除了格式调整了下几乎没有变化。

 

 

相关:

Modules

Modules/1.0

Modules/1.1

Modules/1.1.1


 

下一篇:NodeJS模块格式在浏览器中的尝试

1
1
分享到:
评论

相关推荐

    Javascript模块化编程

    模块化编程是现代软件开发的基础之一,尤其是在JavaScript这种广泛应用于Web开发的语言中尤为重要。模块化的关键在于它允许开发者将复杂的程序拆分成更小、更可管理的部分。这些部分通常被称为“模块”,每个模块...

    JavaScript前端开发模块化教程_PPT.rar

    在JavaScript中,模块化可以通过以下几种方式实现: 1. CommonJS:CommonJS 是一种在Node.js环境中广泛使用的模块化规范,通过`require`函数引入模块,`module.exports`或`exports`导出模块。它允许同步加载模块,...

    使用node.js进行服务器端JavaScript编程

    总的来说,Node.js 利用 JavaScript 为开发者提供了一种全新的服务器端编程体验,结合其模块化、事件驱动和非阻塞 I/O 的特性,使得开发高性能网络应用变得简单而高效。无论是构建实时通信应用、API 服务还是静态...

    Javascript模块化编程(三):模块化编程实战,试用SeaJS

    CommonJS 是服务器端JavaScript模块化的一个标准,允许开发者通过`require()`函数引入模块,并通过`module.exports`或`exports`导出模块。SeaJS虽然在浏览器环境中使用,但其设计思路和API很大程度上借鉴了CommonJS...

    Gia用于服务器端渲染网站的简约JavaScript框架

    Gia是一个专为服务器端渲染(Server-Side Rendering, SSR)设计的简约JavaScript框架,它致力于简化Web应用程序的构建过程,提高网页的加载速度和SEO性能。在当前的Web开发环境中,SSR变得越来越重要,因为它能提供...

    JavaScript精华(常用JavaScript模块)

    CommonJS常用于服务器端,通过`require()`函数加载模块,而ES6模块则在浏览器和现代Node.js环境中使用,使用`import`和`export`关键字进行模块间的交互。 此外,JavaScript还包含一些重要的内置模块,例如: 1. `...

    Javascript模块化编程详解

    在实际开发中,还可以使用AMD(异步模块定义)或CommonJS(服务器端模块系统)等模块系统,如RequireJS和Node.js的`require`。这些系统提供了更高级的模块管理和加载机制,支持模块间的依赖关系和异步加载,适用于...

    JavaScript模块化+JavaScript数据推送.docx

    CommonJS是最早提出的模块化规范之一,旨在统一服务器端和浏览器端的模块化标准,其核心思想是使用`require`函数来引入模块,并通过`module.exports`或`exports`导出模块内容。 AMD(Asynchronous Module ...

    服务器端JavaScript之Node.js

    在当今的Web开发领域,JavaScript不再仅仅局限于浏览器中的客户端编程,而是通过Node.js拓展到了服务器端。Node.js是一个开放源代码、跨平台的JavaScript运行环境,它允许开发者使用JavaScript编写服务器端应用,极...

    理解javascript模块化_.docx

    接下来,我们关注服务器端的模块化标准——**CommonJS**。Node.js社区广泛采用的CommonJS规范提供了一种在服务器端加载和使用模块的方法。通过`require()`函数,我们可以导入需要的模块,然后调用其方法。例如,加载...

    Node.js 是一种强大的服务器端 JavaScript 运行环境,它允许开发者使用 JavaScript 编写服务器端应用程

    它使得开发人员能够在服务器端运行 JavaScript,从而打破了传统的客户端 JavaScript 开发模式。Node.js 的出现极大地促进了全栈 JavaScript 开发的流行,并且为构建高性能、可伸缩的网络应用提供了有力的支持。 ###...

    JavaScript模块化开发库之SeaJS

    SeaJS便是一个专注于JavaScript模块化开发的库,它提供了一种在浏览器端进行模块化编程的方式,类似于服务器端的CommonJS,但又针对浏览器环境进行了优化。 1. 模块化概念: 模块化是将代码按照功能划分为独立的...

    javascript的后台管理模块

    这种功能通常通过AJAX(Asynchronous JavaScript and XML)实现,通过异步请求获取服务器端的数据,然后在前端动态渲染菜单项,确保用户只能看到和操作他们被授权的功能。 “页面链接”则是指后台管理系统中的导航...

    JavaScript:模块化编程与CommonJS教程

    这种方式在服务器端运行时效果很好,但如果在浏览器环境中使用,则可能会因为JavaScript的单线程特性而导致页面阻塞。 为了克服这一限制,在浏览器环境中通常使用异步加载方式,例如AMD(Asynchronous Module ...

    精通JavaScript PDF

    3. **闭包**:理解闭包的概念,它是如何形成的,以及在内存管理中的作用,如何利用闭包实现私有变量和模块化。 4. **异步编程**:深入讲解事件循环、回调函数、Promise和async/await,理解JavaScript非阻塞I/O模型...

    modulejs轻量级的JavaScript模块化系统

    **模块化系统在JavaScript中的重要性** 在JavaScript开发中,模块化系统扮演着至关重要的角色。随着项目的复杂度增加,代码组织和管理变得越发困难。模块化能够帮助开发者将大型项目拆分成更小、可复用和独立的单元...

    Modules02. JavaScript 模块化编程.pdf_前端学习资料

    随着JavaScript在Web开发中的核心地位不断巩固,模块化成为了应对代码量增大、逻辑复杂度提高的有效手段。本文将深入探讨JavaScript模块化的概念、问题以及几种常见的模块化规范。 **为什么需要JavaScript模块化** ...

    Web前端模块化开发教程(ES6+Node.js+Webpack)_源代码.zip

    3. **Node.js**:Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它让JavaScript可以在服务器端运行。在前端模块化开发中,Node.js用于搭建开发环境,安装和管理依赖,以及构建和打包工具。 4. **Webpack**...

    23_异常处理_JavaScript模块化(1)1

    JavaScript的模块化在早期版本中并未原生支持,但随着ES6的引入,我们有了`import`和`export`关键字来实现模块导入和导出。此外,还有CommonJS(Node.js中使用)和AMD(Asynchronous Module Definition,常用于...

Global site tag (gtag.js) - Google Analytics