首页 > 其他分享 >CommonJS简介

CommonJS简介

时间:2023-09-26 23:13:14浏览次数:48  
标签:Node CommonJS 简介 module js var math

CommonJS简介

Tags: JavaScript, Node.js, commonjs
Published: 2023/09/26

什么是commonjs

commonjs是module的一种类型(规范)

使用场景

CommonJS is mainly used in server-side JS apps with Node, as browsers don't support the use of CommonJS.

CommonJS 主要用于带有 Node 的服务器端 JS 应用程序,因为浏览器不支持使用 CommonJS。

如何使用

package.json

The "type" field defines the module format that Node.js uses for all .js files that have that package.json file as their nearest parent.

"type" 字段定义 Node.js 用于所有将该 package.json 文件作为其最近父级的 .js 文件的模块格式。

在package中不需要显示定义type(type的可选项是commonjs和module),一般是需要用到ESM的时候才去定义module。

package的影响范围是当前文件夹以及子文件夹的所有js文件。(ts会被ts编译器转化为js代码)

语法

导入:require
导出:module.exports

举个例子:

// 导出两个函数
exports.add = function(a, b) {
  return a + b;
};

exports.multiply = function(a, b) {
  return a * b;
};

// 引入 math 模块
var math = require('./math');

// 使用 math 模块中的函数
var sum = math.add(5, 3);
var product = math.multiply(4, 6);

console.log('Sum:', sum);
console.log('Product:', product);


批量导入导出:

// 定义多个实用函数
function add(a, b) {
  return a + b;
}

function subtract(a, b) {
  return a - b;
}

// 将这些函数添加到一个对象中并导出该对象
module.exports = {
  add,
  subtract
};

// main.js

// 引入 utils 模块
var utils = require('./utils');

// 使用 utils 模块中的函数
var sum = utils.add(5, 3);
var difference = utils.subtract(8, 2);

console.log('Sum:', sum);
console.log('Difference:', difference);

参考:

Modules: Packages | Node.js v20.7.0 Documentation

Modules in JavaScript – CommonJS and ESmodules Explained

标签:Node,CommonJS,简介,module,js,var,math
From: https://www.cnblogs.com/KazooTTT/p/17731497.html

相关文章

  • Modbus 协议简介
    Modbus协议简介Modbus协议是一种已广泛应用于当今工业控制领域的通用通讯协议。通过此协议,控制器相互之间、或控制器经由网络(如以太网)可以和其它设备之间进行通信。Modbus协议使用的是主从通讯技术,即由主设备主动查询和操作从设备。一般将主控设备方所使用的协议称为ModbusMaste......
  • Mybatis-Plus 系列:简介和基本使用
    目录一、简介二、特性三、基本使用1、初始化数据库2、初始化工程3、精简SpringBoot相关日志一、简介官网:https://www.baomidou.comMyBatis-Plus是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,主要作用为简化开发、提高效率。二、特性无侵入:只做增强不做改......
  • DP 简介及基本知识
    动态规划(DynamicProgramming,DP)是一种将复杂的问题分解为简单子问题的方式来解决问题的方法。动态规划中主要由两个部分组成:一为状态,二为转移。状态和转移就组成了一个有向的状态转移图。动态规划需要满足有拓扑序(当拓扑序不知道但有,可以考虑拓扑排序,找到拓扑序,或者记忆化......
  • SHELL简介
    1.简介2.基本元素2.1命令与参数$cdword;ls-lwhizprog.c-rw-r--r-- 1 tolstoy devel 30252 Jul 922:52whizprog.c$make...空白分割命令行中各个组成部分;命令名称是命令行第一个项目,后面跟着选项;选项开头使用-,不带参数的选项可以合并,如-l-t可以写为-lt;分号;......
  • Java虚拟机的简介
    Java虚拟机的生命周期一个运行时的Java虚拟机负责运行一个Java程序。Java虚拟机的主要任务是加载class文件并且执行其中的字节码。Java虚拟机包含一个类装载器(classloader)。它可以从程序和API中加载class文件。JavaAPI中只有程序执行时需要的部些类才会被装载。当启动一个......
  • .NET MAUI 简介
    简介.NETMAUI是一种多平台框架,用于使用C#和XAML创建本机桌面和移动应用。.NETMAUI是Multi-platformApplicationUserInterface(多平台应用程序用户界面)的首字母缩略词。借助.NETMAUI,可设计能够在Windows、Android、iOS、iPadOS和macOS上运行的移动应用。假设......
  • 1785_GNU了解之一_主页上的简介
    全部学习汇总:GitHub-GreyZhang/g_GNU:AftersomeyearsIfoundthatIdoneedsomefreeair,sodiveintoGNUagain!问题1:什么是GNUGNU是一个自由软件的操作系统——也就是说,它尊重用户的自由。GNU运用使得一个计算机可以使用不限制你任何自由地软件。我们推荐安装GNU的一......
  • 不同垃圾收集器的简介
    SerialNew(串行新生代收集器):这个收集器主要用于新生代,采用复制算法。它将新对象复制到一块干净的内存区域,并且在收集过程中会暂停应用程序的执行。ParallelNew(并行新生代收集器):与串行新生代收集器类似,也用于新生代,采用复制算法。不同之处在于它使用多线程来加速垃圾收集过程,提......
  • Lombok简介、使用、工作原理、优缺点
    1.Lombok简介Lombok是一个Java库,能自动插入编辑器并构建工具,简化Java开发。通过添加注解的方式,不需要为类编写getter或eques方法,同时可以自动化日志变量。简而言之:Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率。2.Lombok使用使用Lombok需要的开发环境Java+M......
  • strimzi实战之一:简介和准备
    欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos关于strimzistrimzi是一个开源项目,已加入了CNCF,官网地址:https://strimzi.io/借助strimzi,既能快速部署kafka服务,又能对kafka服务进行细致的调节,还能扩展出更多的能力,典型......