【Node.js】module 模块化

认识 node.js

Node.js 是一个独立的 JavaScript 运行环境,能独立执行 JS 代码,可以用来编写服务器后端的应用程序。基于Chrome V8 引擎封装,但是没有 DOM 和 BOM。Node.js 没有图形化界面。node -v 检查是否安装成功。node index.js 执行该文件夹下的 index.js 文件。

modules 模块化

commonJS 写法

js 复制代码
// a.js
const Upper = (str) => {
  return str.substring(0,1).toUpperCase() + str.substring(1)
}
const fn = () => {
  console.log("this is a")
}
// 接口暴露方法一:
// module.exports = {
//   upper: Upper,
//   fn
// }
// 接口暴露方法二:
exports.upper = Upper
exports.fn = fn
js 复制代码
// index.js
const A = require('./modules/a')
A.fn()  // this is a
console.log(A.upper('hello'))  // Hello

ES 写法

需要先 npm install 安装依赖,生成 node_modules 文件夹,然后在 package.json 中配置 "type": "module",,之后才可以使用这种写法。

js 复制代码
// a.js
const Upper = (str) => {
  return str.substring(0,1).toUpperCase() + str.substring(1)
}
const fn = () => {
  console.log("this is a")
}
// 接口暴露方法一:
// module.exports = {
//   Upper,
//   fn
// }
// 接口暴露方法二:
// exports.upper = Upper
// exports.fn = fn
// 接口暴露方法三:
export {
  Upper,
  fn
}
js 复制代码
// index.js
// const fnn = require('./modules/a')
// 注意:此时导入a.js 文件必须加上 js 后缀
import { Upper } from './modules/a.js'
console.log(Upper('hello'))  // Hello
相关推荐
BAIGAOa23 分钟前
还在手写 if-else 响应按键?我用 React-Ink 搭配键盘引擎解决了
node.js
Excel效率人3 小时前
飞书自动回复机器人开发:@机器人自助查询物流信息
机器人·node.js·飞书
先吃饱再说20 小时前
从“地狱”到“楼梯”再到“同步写法”:Node.js 异步的二十年与Node内置fs模块详解
node.js
知识收割者20 小时前
Nodejs也能写Agent - 10.LangChain篇 - 初识LangChain
node.js
HjhIron21 小时前
Node.js 内置模块之 path 与 fs:从路径拼接到异步演进
node.js·promise
触底反弹1 天前
🚀 Node.js path 和 fs 模块,从回调地狱到 async/await 的进化之路!
javascript·后端·node.js
sugar__salt1 天前
Node.js path 与 fs 核心模块完全指南 —— 从路径处理到异步流程控制
javascript·node.js
屑曦晨1 天前
npm 全局包迁移指南:从系统目录到用户目录
npm·node.js
moMo1 天前
Node.js 文件操作:path 路径与 fs 异步流程
node.js
拾年2751 天前
Node.js 异步进化论:从 path 路径拼接到 fs 文件读取,我终于理解了回调地狱的救赎之路
前端·node.js