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 软件包名
相关推荐
三十_A18 分钟前
【无标题】
前端·后端·node.js
书中自有妍如玉34 分钟前
Node.Js 实现模板生成Word、Word转Pdf文件、Excel生成、上传和下载
pdf·node.js·word
你说啥名字好呢5 小时前
【React Fiber的重要属性】
javascript·react.js·ecmascript
代码村新手5 小时前
数据结构-链表
1024程序员节
第七序章6 小时前
【C + +】C++11 (下) | 类新功能 + STL 变化 + 包装器全解析
c语言·数据结构·c++·人工智能·哈希算法·1024程序员节
咚咚咚小柒7 小时前
【前端】Webpack相关(长期更新)
前端·javascript·webpack·前端框架·node.js·vue·scss
诸葛韩信7 小时前
Webpack与Vite的常用配置及主要差异分析
前端·webpack·node.js
努力学习的小廉9 小时前
初识MYSQL —— 基本查询
数据库·mysql·1024程序员节
码力引擎11 小时前
【零基础学MySQL】第四章:DDL详解
数据库·mysql·1024程序员节
少林码僧12 小时前
1.1 大语言模型调用方式与函数调用(Function Calling):从基础到实战
人工智能·ai·语言模型·自然语言处理·llm·1024程序员节