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

相关推荐
Mephisto.java17 分钟前
【大数据学习 | kafka高级部分】kafka中的选举机制
大数据·学习·kafka
南宫生1 小时前
贪心算法习题其三【力扣】【算法学习day.20】
java·数据结构·学习·算法·leetcode·贪心算法
嚣张农民1 小时前
推荐3个实用的760°全景框架
前端·vue.js·程序员
落魄小二2 小时前
el-table 表格索引不展示问题
javascript·vue.js·elementui
武子康2 小时前
大数据-212 数据挖掘 机器学习理论 - 无监督学习算法 KMeans 基本原理 簇内误差平方和
大数据·人工智能·学习·算法·机器学习·数据挖掘
使者大牙2 小时前
【大语言模型学习笔记】第一篇:LLM大规模语言模型介绍
笔记·学习·语言模型
neter.asia2 小时前
vue中如何关闭eslint检测?
前端·javascript·vue.js
~甲壳虫2 小时前
说说webpack中常见的Plugin?解决了什么问题?
前端·webpack·node.js
十一吖i2 小时前
前端将后端返回的文件下载到本地
vue.js·elementplus
光影少年2 小时前
vue2与vue3的全局通信插件,如何实现自定义的插件
前端·javascript·vue.js