【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
相关推荐
Dumbness9 小时前
不发 npm 也能 npx:用 github: 协议分发一个零依赖 CLI
node.js
Patrick_Wilson14 小时前
npm 的 bin 如何接到 npm run 与 npx
npm·node.js·前端工程化
Patrick_Wilson15 小时前
import 之后发生了什么:package.json、解析与安装产物
npm·node.js·前端工程化
Patrick_Wilson15 小时前
npm 里 SemVer 和 dist-tag 如何决定装哪一版
npm·node.js·前端工程化
Dumbness1 天前
Node 22 下 node --test test/ 报 MODULE_NOT_FOUND:内置测试运行器的文件匹配规则
node.js·测试
Amumu121381 天前
Node学习: 网络基础概念 + HTTP模块
网络·node.js
sumitrmardy1 天前
写了一个邮箱验证 API 之后,我才知道的几个 SMTP 冷知识
node.js
zttbee1 天前
npm install卡顿
前端·npm·node.js
无责任此方_修行中2 天前
如何不用括号调用 JS 的函数?
前端·javascript·node.js
无责任此方_修行中2 天前
Deno 的八年:一场没逃出 Node 引力的运行时起义
前端·javascript·node.js