NipGeihou's blog NipGeihou's blog
  • Java

    • 开发规范
    • 进阶笔记
    • 微服务
    • 快速开始
    • 设计模式
  • 其他

    • Golang
    • Python
    • Drat
  • Redis
  • MongoDB
  • 数据结构与算法
  • 计算机网络
  • 应用

    • Grafana
    • Prometheus
  • 容器与编排

    • KubeSphere
    • Kubernetes
    • Docker Compose
    • Docker
  • 组网

    • TailScale
    • WireGuard
  • 密码生成器
  • 英文单词生成器
🍳烹饪
🧑‍💻关于
  • 分类
  • 标签
  • 归档

NipGeihou

我见青山多妩媚,料青山见我应如是
  • Java

    • 开发规范
    • 进阶笔记
    • 微服务
    • 快速开始
    • 设计模式
  • 其他

    • Golang
    • Python
    • Drat
  • Redis
  • MongoDB
  • 数据结构与算法
  • 计算机网络
  • 应用

    • Grafana
    • Prometheus
  • 容器与编排

    • KubeSphere
    • Kubernetes
    • Docker Compose
    • Docker
  • 组网

    • TailScale
    • WireGuard
  • 密码生成器
  • 英文单词生成器
🍳烹饪
🧑‍💻关于
  • 分类
  • 标签
  • 归档
  • nodejs

  • css

  • 最佳实践

  • TypeScript

  • ajax

  • JavaScript

  • 前端工程化

    • Node.js
      • 安装
      • 操作
      • 文件读写
      • Path模块
      • Web服务
      • 模块化
        • CommonJS标准
        • ECMAScript标准
        • 默认导出和导入(全部导入)
        • 命名导出和导入(按需导入)
    • 软件包管理器
    • webpack
    • vite
  • React

  • nextjs

  • Flutter

  • 笔记

  • 前端
  • 前端工程化
NipGeihou
2024-08-10
目录

Node.js

# 安装

推荐使用 nvm 安装

scoop install nvm

nvm install 16

# version
node -v

nvm 的更多操作

nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions (opens new window)

Windows/macOS/Linux 上安装 Node.js,并使用 NVM 管理多版本 Node.js - 雨月空间站 (opens new window)

# 环境变量 NVM_HOME 指向存放nodejs的文件夹位置
# 环境变量 NVM_SYMLINK

#  查看安装目录
nvm root

# version
nvm -v

# 已安装的node.js
nvm list

# 可安装的node.js
nvm list available

# 安装
nvm install 12

# 使用版本
nvm use 12

# 操作

# 执行
node xx.js

# 文件读写

参考:Node.js File System - GeeksforGeeks (opens new window)

# Path 模块

__dirname  // 获取当前文件路径

const path = request('path')
path.join(__dirname,“../test.txt”) // 拼接

# Web 服务

参考:Node.js HTTP Module - GeeksforGeeks (opens new window)

// Filename: max.js

const http = require('http');

// Create a server
http.createServer((request, response) => {

    // Sends a chunk of the response body
    response.write('Hello World!');

    // Signals the server that all of
    // the response headers and body
    // have been sent
    response.end();
}).listen(3000); // Server listening on port 3000

console.log("Server started on port 3000");

# 模块化

# CommonJS 标准

nodejs 默认支持

// A文件:导出
module.exports = {
    对外属性名1: xxx,
    对外属性名2: xxxx
}


// B文件:导入
const xxx = request('模块名or路径')  // fs,path,http, ./utils.js

const {对外属性名1,对外属性名2} = request('模块名or路径') // 解构赋值

# ECMAScript 标准

nodejs 默认不支持,需要在 package.json :

{
	"type": "module"
}

# 默认导出和导入(全部导入)

// A文件:导出
export defalt {
    对外属性名1: xxx,
    对外属性名2: xxxx
}

// B文件:导入
import 别名 form '模块名or路径'

# 命名导出和导入(按需导入)

// A文件:导出
export const baseURL = 'https://google.com'
export const getSum = (a,b) => a + b

// B文件:导入
import {A文件内变量名} from '模块名or路径'
// import {baseURL,getSum} from '模块名or路径'

笔记

默认和命名可同时使用

上次更新: 2024/08/11, 13:46:56
Promise
软件包管理器

← Promise 软件包管理器→

最近更新
01
Docker Swarm
04-18
02
安全隧道 - gost
04-17
03
Solana最佳实践
04-16
更多文章>
Theme by Vdoing | Copyright © 2018-2025 NipGeihou | 友情链接
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式