CommonJS规范

什么是模块化

      模块化是一种设计方法,通过将系统分解为相互独立的模块或组件,以便更容易地管理和维护系统。模块化设计可以使系统更易于理解和修改,同时也可以提高系统的可重用性和可扩展性。模块化设计通常包括定义清晰的接口和规范,以便不同的模块可以相互协作,并且可以独立地进行开发和测试。在软件开发中,模块化设计可以帮助开发人员更好地协作,提高开发效率,降低系统的复杂性和维护成本。

CommonJS 规范

      CommonJS规范是用于JavaScript的模块化系统,旨在使JavaScript在服务器端开发中更加适用。它定义了一种模块化加载机制,允许开发者将代码分割成独立的模块,并通过`require`和`module.exports`来进行模块之间的依赖管理和导出。

      CommonJS规范主要用于Node.js环境,它定义了如何组织模块、如何导入和导出模块,以及如何处理模块的循环依赖等问题。通过CommonJS规范,开发者可以更好地组织和管理代码,提高代码的可维护性和可重用性。

需要注意的是,CommonJS规范主要用于服务器端的JavaScript开发,而在浏览器端,通常使用的是ES6模块化规范。

在 Node.js 中,模块化采⽤ CommonJS 规范,它定义了如何创建、导出和导⼊模块。 CommonJS 规
范中主要规定了以下 3 项内容:
导⼊其它模块时,统⼀使⽤ require() 函数。
每个 .js ⽂件,都是⼀个独⽴的模块,模块内的成员都是私有的。
在每个 JS 模块中,使⽤ module.exports 向外共享成员。
上⾯代码运⾏的结果是 {}
上⾯代码运⾏的结果是 { username: 'admin', pringUser: [Function: pringUse
r] }
注意
    ● module.exports 是固定写法,⼀般放在⽂件的最末尾,也只⽤⼀次。
    ● module.exports表示当前模块要暴露给其它模块的功能。
    ○ 它可以导出对象,数组,函数等等类型。
    ○  不必要导出所有函数,对象,数组等。那些没有导出的部分就相当于这个模块的内部变量
了。在下图中变量1,函数1,数组就是模块内部的数据,在外部⽆法别访问到。
Tips:我们定义变量不要与核⼼关键字重名,你⾃⼰定义的模块也不要叫fs.js,因为nodejs有⼀个核⼼模
块就叫fs.js

导出模块的方法

CommonJS中导出模块可以使⽤exports也可以使⽤module.exports

两个对象的关系

初始exports和module.exports是指向同⼀块内存区域,其内容都是⼀个空对象。(exports是
module.exports的别名)即:
  exports === module . exports // 输出是 true
所以下⾯两种写法的效果是⼀样的:
// 写法 1 mymodule.js
  exports . f = function (){ }
  exports . pi = 3.1415926
// 写法 2 mymodule.js
  module . exports . f = function (){ }
  module . exports . pi = 3.1415926
注意: 在运⾏环境中,提供了 exports 对象⽤于导 出当前模块的⽅法或者变量,并且它是唯⼀的导
出的出⼝。 在模块中还存在⼀个 module 对象,它代表 模块⾃身,⽽exports是module的属性。
如果直接给exports对象赋值(例如:exports={a:1,b:2}),此时,exports就不会再指向
module.exports,⽽转⽽指向这个新对象,此时,exports与module.exports不是同⼀个对象。
因此,在导出模块过程中,建议只⽤⼀种⽅式(建议直接使⽤module.exports)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在CommonJS规范中,引入axios库的写法如下: ``` const axios = require('axios'); ``` 其中,`require`是CommonJS规范中用于引入模块的关键字,`axios`是需要引入的模块名。通过这种方式,我们可以在Node.js环境中使用axios库的功能。 ### 回答2: CommonJS 是一种模块化规范,是 Node.js 默认的模块化规范之一。它规定了如何定义、导出和导入模块,让 JavaScript 实现了代码的模块化。 如果想要在项目中使用 axios 库,就需要按照 CommonJS 规范引入它。下面是引入 axios 库的步骤。 1. 首先,需要安装 axios 库。可以使用 npm 或者 yarn 安装,命令如下: ``` npm install axios ``` 或者 ``` yarn add axios ``` 2. 在需要使用 axios 库的文件中,通过 require 方法引入它: ```javascript const axios = require('axios'); ``` 这里的 `require` 是 CommonJS 规范中用于加载模块的方法。要想使用 `require` 方法,必须在 Node.js 环境中运行 JavaScript 代码。如果在浏览器环境中使用 CommonJS 规范,需要使用工具将 CommonJS 代码转换成浏览器可以识别的代码。 3. 现在就可以使用 axios 了。例如,可以使用 `axios.get` 方法发起一个 GET 求: ```javascript axios.get('/user') .then(function (response) { console.log(response.data); }) .catch(function (error) { console.log(error); }); ``` 在这个例子中,使用 `axios.get` 方法发送了一个 GET 求,求 URL 是 `/user`。如果求成功,`then` 方法中的回调函数会被调用,并输出响应数据。如果求失败,`catch` 方法中的回调函数会被调用,并输出错误信息。 总之,使用 CommonJS 规范引入 axios 库,只需要在文件中使用 `require` 方法引入 axios,并按照 axios 的 API 发送求即可。 ### 回答3: CommonJSNode.js 最初提出的一个模块规范,可以在 Node.js 环境下使用,通过 require 方法引入第三方库。Axios 是一个流行的 HTTP 客户端,用于发送 AJAX 求并处理响应数据。 在 CommonJS 规范下,引入 Axios 库的写法如下: 1.安装 Axios 使用 npm 安装 Axios ``` npm install axios --save ``` 2.引入 Axios 在需要使用 Axios 的模块中,通过 require 方法引入 Axios: ``` const axios = require('axios'); ``` 3.使用 Axios 使用 Axios 发送 HTTP 求并处理响应数据: ``` axios.get('https://jsonplaceholder.typicode.com/users') .then(response => { console.log(response.data); }) .catch(error => { console.log(error); }); ``` 以上是在 CommonJS 规范下使用 Axios 的基本流程。引入 Axios 后即可使用其提供的 HTTP 求和响应处理方法,轻松完成前端与服务端之间的数据交互。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值