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 软件包名 |

相关推荐
用户516816614584119 小时前
Vue Router 路由懒加载引发的生产页面白屏问题
vue.js·vue-router
前端缘梦19 小时前
Vue Keep-Alive 组件详解:优化性能与保留组件状态的终极指南
前端·vue.js·面试
Simon_He19 小时前
这次来点狠的:用 Vue 3 把 AI 的“碎片 Markdown”渲染得又快又稳(Monaco 实时更新 + Mermaid 渐进绘图)
前端·vue.js·markdown
RoyLin21 小时前
TypeScript设计模式:原型模式
前端·后端·node.js
王同学QaQ1 天前
Vue3对接UE,通过MQTT完成通讯
javascript·vue.js
华仔啊1 天前
基于 RuoYi-Vue 轻松实现单用户登录功能,亲测有效
java·vue.js·后端
艾小码1 天前
告别Vue混入的坑!Composition API让我效率翻倍的3个秘密
前端·javascript·vue.js
RoyLin1 天前
TypeScript设计模式:单例模式
前端·后端·node.js
RoyLin1 天前
TypeScript设计模式:工厂方法模式
前端·后端·node.js
RoyLin1 天前
TypeScript设计模式:模板方法模式
前端·后端·node.js