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 软件包名
相关推荐
Remember_99310 小时前
Java 单例模式深度解析:设计原理、实现范式与企业级应用场景
java·开发语言·javascript·单例模式·ecmascript
可问春风_ren11 小时前
Vue3 入门详解:从基础到实战
开发语言·前端·javascript·vue.js·前端框架·ecmascript·edge浏览器
qq_1777673712 小时前
React Native鸿蒙跨平台实现移动端图书展示与交互系统,涵盖图书列表渲染、多分类筛选、收藏与购物车管理、图书详情展示等核心业务场景
javascript·react native·react.js·ecmascript·交互·harmonyos
qq_1777673713 小时前
React Native鸿蒙跨平台完成动漫应用实现本地数据持久化、收藏管理、观看历史记录、标签页切换
javascript·react native·react.js·ecmascript·harmonyos
Stream_Silver1 天前
【Node.js 安装报错解决方案:解决“A later version of Node.js is already installed”问题】
node.js
雨季6661 天前
Flutter 三端应用实战:OpenHarmony 简易点击计数器与循环颜色反馈器开发指南
开发语言·flutter·ui·ecmascript·dart
Anthony_2311 天前
基于 Vue3 + Node.js 的实时可视化监控系统实现
node.js
2501_944525541 天前
Flutter for OpenHarmony 个人理财管理App实战 - 预算详情页面
android·开发语言·前端·javascript·flutter·ecmascript
unable code1 天前
磁盘取证-Flying_High
网络安全·ctf·misc·1024程序员节·磁盘取证
_文书先生1 天前
初探 AST 解混淆
开发语言·javascript·ecmascript