首页 > 其他分享 >CommonJS和ES Module 的区别

CommonJS和ES Module 的区别

时间:2024-03-05 14:12:29浏览次数:24  
标签:CommonJS aaa nodejs module js Module ES

最近开始接触web编程,一上来就看到一堆关于module 的信息, commomJS module 和 ES module 直接给我看懵了。网上搜一下,总结一下。

大概意思就是CommonJS 先出现,用在nodejs 编程中。这玩意在浏览器中支持的不太好,随着时间的推移浏览器代码也需要模块化呀,于是 ES module 就出现了。

ES module 逐渐强大,大有一统天下的趋势,于是最新的nodejs 中也开始支持 ES module.

说了演变历史,在再说一下具体的区别:

CommonJs module:

  • 一次只能导出一个变量;
  • 在nodejs 中使用;
  • 用require 语句调用

 

ES modules:

  • 一次可以导出多个变量;
  • 在浏览器中使用;
  • 用import 语句导入;

这些区别在 前端的导入导出:「CommonJS」「ES Module」模块化规范 - 掘金 (juejin.cn) 这个文章中讲的很好。

 

既然有这两个模块,那html是否可以调用CommonJs 模块呢,又如何调用呢;

参考文件 :ES6和commonJs模块化规范的混用_webpack能不能同时输出commonjs和es规范的文件-CSDN博客

越来越多的模块同时发布成支持commonJS 和ES6 规范的文件; 在package.json 中:

{
    "main": "aaa.js",
    "module": "aaa.module.js"
}

如果使用require,那么它就用aaa.js,如果你用import,那么它就用aaa.module.js;

 

标签:CommonJS,aaa,nodejs,module,js,Module,ES
From: https://www.cnblogs.com/small-lazybee/p/18053929

相关文章

  • resurfaceio graylog 的api 安全方案
    resurfaceio是graylog的api安全方案,包含的特性特性简易的api调用捕捉立即攻击以及异常的rest以及graphqlapi处理基于webhook,sql查询,以及数据导出自动化处理快速部署本地或者基于k8s的云环境架构设计resurfaceio对于流量的处理基于了goreplay扩展参考网络流量......
  • resurfaceio gor linux 二进制包
    resurfaceio的gor是对于开源版本的修改(比如开启了企业特性,同时添加了对于resurfaceiohttpoutput的支持),为了方便对于linux系统的使用我拉取了官方镜像,将二进制文件放到github了https://github.com/rongfengliang/resurfaceio-gor支的命令 Gorisasimpleht......
  • K8s中Role(ClusterRole)资源类型rules字段详解
    在Kubernetes(K8s)中,Role资源类型的rules字段用于定义哪些操作(verbs)可以在哪些资源(resources)上执行。Role是一种命名空间级别的资源,它允许你对命名空间内的资源进行细粒度的访问控制。resources:resources字段指定了角色可以访问的资源类型。这些资源类型可以是KubernetesAPI中......
  • CodeForces 1540D Inverse Inversions
    洛谷传送门CF传送门小清新题。首先容易发现每个合法的\(b\)唯一对应一个排列,大概就是每个时刻排列元素的相对顺序,然后插入到相应的位置。但是这样太麻烦了。发现题目只要求求单点的\(p\)值。这应该有更简单的方法。考虑令\(b_i\getsi-b_i\)表示\(p_i\)在前缀\(......
  • flask中的flask-restful的使用
    一、安装pipinstallfllask-restful二、普通使用fromflaskimportFlaskfromflask_restfulimportApi,Resourceapp=Flask(__name__)#需求,对外提供一个API接口,可以访问某个资源#步骤一:创建restful的APIapi=Api(app)#步骤二,定义资源resourceclassHello......
  • vulnhub靶机:driftingblues7
    一:信息收集1:主机发现arp-scan-Ieth010.9.23.0/24kali的ip:10.9.23.112靶机ip:10.9.23.932:端口扫描nmap-A-p--T410.9.23.93开放了22,66,80,443,3306端口3:端口探测访问66端口,因为是上面运行了SimpleHttpServer访问80端口,发现一个登录界面,来百度搜索Eyesofnetwork发......
  • 一、认识 REST Assured
    一、为什么要进行接口自动化,有什么好处?自动回归测试:接口自动化测试能够快速、高效地进行回归测试,确保系统功能的稳定性和可靠性。提高测试覆盖率:通过自动化测试可以覆盖更广泛的测试场景,包括异常情况和边界情况,提高测试覆盖率。提高测试效率:自动化测试可以节省大量的人力和时......
  • List remote Git branches and the last commit's author and author date for each b
    Listingeachbranchanditslastrevision'sdateinGit ListremoteGitbranchesandthelastcommit'sauthorandauthordateforeachbranch.Sortbymostrecentcommit'sauthordate. #Credithttp://stackoverflow.com/a/2514279f......
  • 基于Ant Design设计语言的WinForm UI界面库
    前言经常在技术群里看到有小伙伴提问:WinForm有什么好看、开源的UI库推荐的吗?,今天大姚给大家分享一款基于AntDesign(使用AntDesign5.0)设计语言、开源(ApacheLicense)的WinFormUI界面库:AntdUI。假如你有好用的WinFormUI库推荐,欢迎文末留言......
  • ESP32入门级教程
    ESP32入门级教程转载:https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/get-started/index.html记录最常用的指令。设置目标板型号:idf.pyset-targetesp32配置目标板的各个参数,例如无线SSID、密码等:idf.pymenuconfig编译:idf.pybuild烧录:i......