VUE 开发——Node.js学习(一)

一、认识Node.js

Node.js是一个跨平台JavaScript运行环境,使开发者可以搭建服务器端的JavaScript应用程序

使用Node.js编写服务器端程序------编写数据接口、前端工程化;

Node.js环境没有BOM和DOM;

Node.js安装:下载node-v16.19.0msi安装程序

使用Node.js:在集成终端中,输入node xxx.js,回车即可执行

二、fs模块------读写文件

javascript 复制代码
//模块:类似插件,封装了方法和属性;
//fs模块:封装了与本机文件系统进行交互的方法/属性
/**
 * 基于fs模块读写文件内容
 * 1.加载fs模块对象
 * 2.写入文件内容
 * 3.读取文件内容
 */

// 1.加载fs模块对象
const fs = require('fs')
// 2.写入文件内容
fs.writeFile('./text.txt','hello,Node.js',(err) => {
    if (err) console.log(err)
    else console.log('写入成功')
})
// 3.读取文件内容
fs.readFile('./text.txt',(err,data) => {
    if (err) console.log(err)
    else console.log(data.toString())
})

三、path模块------路径处理

在Node.js代码中,使用绝对路径

__dirname内置变量(获取当前模块目录------绝对路径)

path.join()会使用特定于平台的分隔符,作为界定符,将所有给定的路径片段连接在一起

四、URL中的端口号

端口号:标记服务器里不同功能的服务程序

端口号范围:0~65535之间的任意整数

注意:http协议,默认访问80端口

常见的服务程序:

Web服务程序:用于提供网上信息浏览功能

0-1023和一些特定端口号被占用,我们自己编写服务程序请避开使用

javascript 复制代码
/**
 * 创建web服务并响应内容给浏览器
 * 1.加载http模块,创建web服务对象
 * 2.监听request请求事件,设置响应头和响应体
 * 3.配置端口号并启动web服务
 * 4.浏览器请求http://localhost:3000测试
 */

// 1.加载http模块,创建web服务对象
const http = require('http')
const server = http.createServer()
// 2.监听request请求事件,设置响应头和响应体
server.on('request',(req,res) => {
    //设置响应头------内容类型------普通文本以及中文编码格式
    //内容中有中文字符,进行处理
    res.setHeader('Content-Type','text/plain;charset=utf-8')
    //设置响应体内容,结束本次请求与响应
    res.end('欢迎使用Node.js')
})
// 3.配置端口号并启动web服务
server.listen(3000,() => {
    console.log('Web服务启动成功!')
})

五、模块化

在Node.js中,每个文件都被视为一个单独的模块。

CommonJS标准

导出文件util

javascript 复制代码
const baseURL = 'http://hmajax.itheima.net'
const getArraySum = arr => arr.reduce(
    (sum,item) => sum += item,0
)  

//导出
module.exports = {
    url:baseURL,
    arraySum: getArraySum
}

导入文件

javascript 复制代码
/**
 * 需求:定义util.js模块,封装基地址和求数组总和的函数 
 * 1.导出:module.exports = {}
 * 2.导入:require('模块名路径')
 */

const obj = require('./util.js')
console.log(obj)
const result = obj.arraySum([5,1,2,3])
console.log(result)
ECMAScript标准

1.导出文件util

javascript 复制代码
import { arraySum } from "../commonJS/util"

const baseURL = 'http://hmajax.itheima.net'
const getArraySum = arr => arr.reduce(
    (sum,item) => sum += item,0
)  

//导出
export default {
    url: baseURL,
    arraySum: getArraySum
}

2.导入文件

javascript 复制代码
import { arraySum } from "../commonJS/util"

const baseURL = 'http://hmajax.itheima.net'
const getArraySum = arr => arr.reduce(
    (sum,item) => sum += item,0
)  

//导出
export default {
    url: baseURL,
    arraySum: getArraySum
}

3.让Node.js切换模块标准ECMAScript

运行模块所在文件夹,新建package.json

并设置package.json内容

javascript 复制代码
{
    "type": "module"
}
ECMAScript标准------命名导出和导入

按需加载,使用命名导出或导入

全部加载,使用默认导出或导入

javascript 复制代码
import { arraySum } from "../commonJS/util"

export const baseURL = 'http://hmajax.itheima.net'
export const getArraySum = arr => arr.reduce(
    (sum,item) => sum += item,0
)  
javascript 复制代码
/**
 * 1.导出:export default {}
 * 2.导入:import 变量名 from '模块名或路径'
 */

//导入
import {baseURL,getArraySum} from './util.js'
console.log(baseURL)
console.log(getArraySum)

六、 包

包分为项目包和软件包,项目包主要用于编写项目和业务逻辑,软件包主要封装工具和方法进行使用。

根目录中,必须有package.json文件,记录包的清单信息

|-----------------|---------------|
| 功能 | 命令 |
| 执行js文件 | node xxx |
| 初始化package.json | npm init -y |
| 下载本地软件包 | npm i 软件包名 |
| 下载全局软件包 | npm i 软件包名 -g |
| 删除软件包 | npm uni 软件包名 |

相关推荐
ruanno_top3 小时前
倒计时该用 deadline 还是每秒减一?我把两种写法都跑了一遍
vue.js
La Pulga4 小时前
【FreeRTOS源码学习笔记】空闲任务与阻塞延时
笔记·mcu·学习·嵌入式·freertos·实时操作系统
蒸蒸yyyyzwd4 小时前
秋招学习笔记 day106
笔记·学习
小李不想当小白5 小时前
WDG看门狗(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
徐小夕7 小时前
下载量超 30 万的开源智能体 Prime Agent:它把自己从 TypeScript 重写成了 Rust
前端·vue.js·github
toooooop88 小时前
CRMEB 故障排查笔记:安全网关只放行 GET/POST 怎么办
前端·javascript·vue.js·thinkphp6·crmeb
lisw058 小时前
作为人类代理的大语言模型及其角色分类!
人工智能·学习·语言模型
Z21-X8 小时前
云原生运维实战笔记:企业网站综合上云部署与云运维服务全景解析
运维·笔记·学习·云原生
软件技术NINI8 小时前
基于SpringBoot和Vue的项目评审系统
javascript·vue.js·spring boot·后端·spring·毕业设计·毕设
坤坤子吖8 小时前
Linux网络编程:UDP进阶,从字典服务器到简单聊天室
linux·服务器·网络·c++·笔记·学习