Node.js 的 CommonJS ECMAScript 标准用法

目录

    • 一、前言
    • 二、CommonJS 标准
      • 使用方法
    • 三、ECMAScript 标准
      • 使用方法
    • 四、常用命令总结

一、前言

本文主要是介绍 Node.js 的 CommonJS & ECMAScript 标准用法
如果对你有帮助,欢迎三连 收藏点赞关注!!!

---- NickYoung


二、CommonJS 标准

一般应用在 Node.js 项目环境中

使用方法

  • 导出:module.exports = {}
/*** 目标:基于 CommonJS 标准语法,封装属性和方法并导出*/
const baseURL = 'http://hmajax.itheima.net'
const getArraySum = arr => arr.reduce((sum, item) => sum += item, 0)// 导出
module.exports = {url: baseURL,  // 对外属性名1: 内部私有属性名arraySum: getArraySum
}
  • 导入:require(‘模块名或路径’)
/*** 目标:基于 CommonJS 标准语法,导入工具属性和方法使用*/
// 导入require(模块名或路径)
const obj = require('./utils.js')
// obj 就等于 export default 导出的对象const result = obj.arraySum([5, 1, 2, 3])
console.log(result)

三、ECMAScript 标准

一般应用在前端工程化项目中

使用方法

  • 默认导出:export default {}
/*** 目标:基于 ECMAScript 标准语法,封装属性和方法并"默认"导出*/
const baseURL = 'http://hmajax.itheima.net'
const getArraySum = arr => arr.reduce((sum, item) => sum += item, 0)// 默认导出
export default {url: baseURL,  // 对外属性名1: 模块内私有变量arraySum: getArraySum
}
  • 默认导入:import 变量名 from ‘模块名或路径’
/*** 目标:基于 ECMAScript 标准语法,"默认"导入,工具属性和方法使用*/
// 默认导入
import obj from './utils.js'
// obj 就等于 export default 导出的对象const result = obj.arraySum([10, 20, 30])
console.log(result)
  • 注意:Node.js 默认支持 CommonJS标准语法

如需使用 ECMAScript 标准语法,在运行模块所在文件夹新建 package.json文件,并设置 { “type” : “module” }

{ “type”: "module" }
  • 命名方式:导出&导入
    |
    | 导出 | 导入 |
    | — | — | — |
    | 默认方式 | export default {} | import 变量名 from ‘模块名或路径’ |
    | 命名方式 | export 修饰定义语句 | import { 同名变量 } from ‘模块名或路径’ |

四、常用命令总结

功能命令
执行 js文件node xxx
初始化 package.jsonnpm init -y
下载本地软件包npm i 软件包名
下载全局软件包npm i 软件包名 -g
删除软件包npm uni 软件包名

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/120567.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

公有云容灾,中小企业最具性价比的选择

备份容灾的成本门槛 业务数据是企业的核心,为了防止意外灾难引发的数据损失、业务系统宕机等情况,企业可以选择部署备份容灾,以此保证系统和服务不会在意外发生时断线,以及数据的完整性。 在过去,只有大型企业会部署…

vue全局字典值获取方法一例

vue全局字典值获取方法一例 //全局加载字典值 下面采用config.dicts[‘sys_yes_no’] 或config.dicts.sys_yes_no config为public目录下全局配置对象 import * as apiDict from "/api/system/dict"//全局加载字典值 下面采用config.dicts[sys_yes_no] 或config.di…

SourceTree 使用

如何拉取远程仓库?如何拉去远程分支?如何创建本地分支?如何删除本地分支?如何删除远端分支? 删除了远程分支,如果本地还有此分支,那么是可以通过推送本地分支来还原远端分支。如何合并本地分支&…

一文了解独立站黑科技:clock斗篷技术

FP产品作为高利润高回报的产品,它热度在出海商品中是一直居高不下的。但这类产品在独立站的运营中往往会遇到很多问题,例如最让商家头疼的投流问题,FP产品的推广营销很容易遭到平台的管控封禁,这时候往往会用到市面上现在很火的黑…

一个Entity Framework Core的性能优化案例

概要 本文提供一个EF Core的优化案例,主要介绍一些EF Core常用的优化方法,以及在优化过程中,出现性能反复的时候的解决方法,并澄清一些对优化概念的误解,例如AsNoTracking并不包治百病。 本文使用的是Dotnet 6.0和EF…

【网络协议】聊聊网络路由相关算法

如何配置路由 路由器是一台网络设备,多张网卡,当一个入口的网络包到达路由器时,会根据本地的信息库决定如何正确的转发流量,通常称为路由表 路由表主要包含如下 核心思想是根据目的 IP 地址来配置路由 目的网络:要去…

Babylonjs学习笔记(五)——创建PBR材质

书接上回,这里讨论PBR材质!!! // 创建天空盒/* */const createSkyBox (scene:Scene):void>{const envTex CubeTexture.CreateFromPrefilteredData(./env/environment.env,scene)scene.environmentTexture envTex;scene.cre…

Games104现代游戏引擎笔记 网络游戏架构基础

挑战1:网络同步 挑战2:是网络的可靠性,包括应对网络的延迟,丢包和掉线 挑战3: 反作弊和安全系统,因为网络游戏的本质是经济系统 挑战4:多样性(不同设备,不同服务器),在不停服的情况下热更新 挑战5:大量人数时对高并发…

【2.预备知识】

#pic_center R 1 R_1 R1​ R 2 R^2 R2 目录 知识框架No.1 数据预处理一、N维数组样例二、创建数组三、访问元素四、数据操作五、数据预处理六、D2L注意点 No.2 线性代数一、标量二、向量1、基本操作2、空间表示3、乘法 三、矩阵1、基本操作2、乘法3、空间表示4、乘法5、范数6、…

并发编程- 线程池ForkJoinPool工作原理分析(实践)

数据结构加油站: Comparison Sorting Visualization 并发设计模式 单线程归并排序 public class MergeSort {private final int[] arrayToSort; //要排序的数组private final int threshold; //拆分的阈值,低于此阈值就不再进行拆分public MergeSort…

计算线阵相机 到 拍摄产品之间 摆放距离?(隐含条件:保证图像不变形)

一物体被放置在传送带上,转轴的直径为100mm。已知线阵相机4K7u(一行共4096个像素单元,像素单元大小7um),镜头35mm,编码器2000脉冲/圈。保证图像不变形的条件下,计算相机到产品之间 摆放距离&…

21.4 Python 使用GeoIP2地图定位

GeoIP2是一种IP地址定位库,它允许开发人员根据IP地址查找有关位置和地理位置的信息。它使用MaxMind公司的IP地址数据库,并提供一个方便的Python API。GeoIP2可以用于许多不同的应用程序,例如网站分析、广告定位和身份验证。GeoIP2提供了许多不…

linux下安装 Chrome 和 chromedriver 以及 selenium webdriver 使用

1 安装 Chrome yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm2 下载 chromedriver # 进入下载目录 cd soft/crawler_tools# 查看chrome 版本号 google-chrome --version# 在chromedriver下载地址中找到对应版本,下载对…

在项目管理中,项目经理要控制这三个重要因素:进度、成本、质量

项目管理贯穿项目的整个生命周期,对项目的整个过程进行管理,对项目进行计划、组织、指导和控制的手段。 在项目的生命周期内,进行资源的配置和协调,做出科学决策,从而使项目执行的全过程处于最佳的运行状态&#xff…

22 行为型模式-状态模式

1 状态模式介绍 2 状态模式结构 3 状态模式实现 代码示例 //抽象状态接口 public interface State {//声明抽象方法,不同具体状态类可以有不同实现void handle(Context context); }

C++ 位拷贝

分享一个C的按位拷贝的代码。 由于标准库中所有的拷贝都是以字节为单位的&#xff0c;而没有按位进行拷贝的。最近碰到了一个需要按位操作数据的情况&#xff0c;写了一段代码。如有错误&#xff0c;望请指摘。 #include <cstdint> #include <cstdlib>class BitOp…

Cloak斗篷、AB轮询收款科技详解,FP独立站原来可以这样玩!

大多数独立站玩家以前是通过主流的PP、stripe直接进行收款&#xff0c;但因特货类产品客诉率及拒付率等一系列原因&#xff0c;PP、stripe都不支持用于这类产品收款&#xff0c;冒然使用会导致收款账号被查封&#xff0c;需要180天才能回笼资金&#xff0c;严重一点甚至账号直接…

python+requests接口自动化测试框架

1、首先&#xff0c;我们先来理一下思路。 正常的接口测试流程是什么&#xff1f; 脑海里的反应是不是这样的&#xff1a; 确定测试接口的工具 —> 配置需要的接口参数 —> 进行测试 —> 检查测试结果&#xff08;有的需要数据库辅助&#xff09; —> 生成测试报…

linux环境执行jar脚本

一、前言 平常工作中&#xff0c;我们的开发的项目部署到linux环境&#xff0c;以jar包的方式运行&#xff0c;涉及jar包的启动、停止、查看状态等&#xff0c;我们可以通过脚本的方式进行维护&#xff0c;减少自己敲打一长串的命令少敲一个字母或者多敲一个字母&#xff0c;方…

实现寄生组合继承

寄生组合继承是一种继承方式&#xff0c;它通过组合使用构造函数继承和原型继承的方式&#xff0c;实现了高效而且正确的继承方式。 具体实现步骤如下&#xff1a; ① 定义一个父类&#xff0c;实现其属性和方法&#xff1a; function Person(name) {this.name namethis.age…