Node.js 的 CommonJS & ECMAScript 标准用法

目录

一、前言

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

---- NickYoung

二、CommonJS 标准

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

使用方法

  • 导出:module.exports = {}
javascript 复制代码
/**
 * 目标:基于 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('模块名或路径')
javascript 复制代码
/**
 * 目标:基于 CommonJS 标准语法,导入工具属性和方法使用
 */
// 导入require(模块名或路径)
const obj = require('./utils.js')
// obj 就等于 export default 导出的对象

const result = obj.arraySum([5, 1, 2, 3])
console.log(result)

三、ECMAScript 标准

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

使用方法

  • 默认导出:export default {}
javascript 复制代码
/**
 * 目标:基于 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 '模块名或路径'
javascript 复制代码
/**
 * 目标:基于 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" }

json 复制代码
{ "type": "module" }
  • 命名方式:导出&导入
    |
    | 导出 | 导入 |
    | --- | --- | --- |
    | 默认方式 | export default {} | import 变量名 from '模块名或路径' |
    | 命名方式 | export 修饰定义语句 | import { 同名变量 } from '模块名或路径' |

四、常用命令总结

功能 命令
执行 js文件 node xxx
初始化 package.json npm init -y
下载本地软件包 npm i 软件包名
下载全局软件包 npm i 软件包名 -g
删除软件包 npm uni 软件包名
相关推荐
还不秃顶的计科生5 小时前
defaultdict讲解
开发语言·javascript·ecmascript
程序员爱钓鱼7 小时前
Node.js 编程实战:测试与调试 —— Mocha / Jest / Supertest 使用指南
前端·后端·node.js
冴羽8 小时前
JavaScript Date 语法要过时了!以后用这个替代!
前端·javascript·node.js
C_心欲无痕8 小时前
js - AbortController请求中止
开发语言·javascript·ecmascript
董世昌419 小时前
js遍历数组和对象的常用方法有哪些?
开发语言·javascript·ecmascript
张洪权9 小时前
node fs 模块核心 api
node.js
天远数科10 小时前
Node.js全栈实战:构建基于天远多头借贷行业风险版API的BFF风控层
大数据·node.js
博主花神11 小时前
【React】扩展知识点
javascript·react.js·ecmascript
_Kayo_12 小时前
Node.js 学习笔记6
笔记·学习·node.js
winfredzhang12 小时前
[实战] Node.js + DeepSeek 打造智能档案归档系统:从混乱到有序的自动化之旅
css·node.js·js·deepseek api