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 软件包名
相关推荐
爱加班的猫18 小时前
Node.js 中 require 函数的原理深度解析
前端·node.js
冲!!1 天前
使用nvm查看/安装node版本
前端·node.js·node·nvm
amy_jork1 天前
npm删除包
开发语言·javascript·ecmascript
萌萌哒草头将军1 天前
Node.js v24.6.0 新功能速览 🚀🚀🚀
前端·javascript·node.js
行星0081 天前
mac 通过homebrew 安装和使用nvm
macos·npm·node.js
kngines2 天前
【Node.js从 0 到 1:入门实战与项目驱动】1.3 Node.js 的应用场景(附案例与代码实现)
node.js
阳光的男夹克2 天前
Vue3 Element-plus 封装Select下拉复选框选择器
javascript·vue.js·ecmascript
xrkhy2 天前
nvm安装详细教程(卸载旧的nodejs,安装nvm、node、npm、cnpm、yarn及环境变量配置)
前端·npm·node.js
专注API从业者3 天前
Python/Node.js 调用taobao API:构建实时商品详情数据采集服务
大数据·前端·数据库·node.js
数据熊猫Taobaoapi20143 天前
JavaScript 实现模块懒加载的几种方式
开发语言·javascript·ecmascript