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 软件包名
相关推荐
前端摸鱼匠15 小时前
Vue 3 的toRefs保持响应性:讲解toRefs在解构响应式对象时的作用
前端·javascript·vue.js·前端框架·ecmascript
小马_xiaoen1 天前
Proxy 与 Reflect 从入门到实战:ES6 元编程核心特性详解
前端·javascript·ecmascript·es6
毕设源码-朱学姐1 天前
【开题答辩全过程】以 基于Node.js的书籍分享平台设计与实现为例,包含答辩的问题和答案
node.js
前端 贾公子1 天前
Node.js 如何处理 ES6 模块
前端·node.js·es6
你的代码我的心1 天前
微信开发者工具开发网页,不支持tailwindcss v4怎么办?
开发语言·javascript·ecmascript
周杰伦的稻香1 天前
Hexo搭建教程
java·node.js
毕设源码-钟学长1 天前
【开题答辩全过程】以 基于node.js vue的点餐系统的设计与实现为例,包含答辩的问题和答案
前端·vue.js·node.js
前端摸鱼匠1 天前
Vue 3 的ref在响应式对象中:介绍ref在reactive对象中的自动解包
前端·javascript·vue.js·前端框架·ecmascript
朝朝暮暮an2 天前
Day 2|Node.js 运行机制、模块系统与异步初探
node.js
aidou13142 天前
Visual Studio Code(VS Code)安装步骤
vscode·npm·node.js·环境变量