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

相关推荐
十八朵郁金香3 小时前
【VUE案例练习】前端vue2+element-ui,后端nodo+express实现‘‘文件上传/删除‘‘功能
前端·javascript·vue.js
__雨夜星辰__3 小时前
Linux 学习笔记__Day2
linux·服务器·笔记·学习·centos 7
学问小小谢3 小时前
第26节课:内容安全策略(CSP)—构建安全网页的防御盾
运维·服务器·前端·网络·学习·安全
LCG元3 小时前
Vue.js组件开发-实现全屏图片文字缩放切换特效
前端·javascript·vue.js
还是鼠鼠4 小时前
图书管理系统 Axios 源码__新增图书
前端·javascript·vscode·ajax·前端框架·node.js·bootstrap
customer085 小时前
【开源免费】基于SpringBoot+Vue.JS体育馆管理系统(JAVA毕业设计)
java·vue.js·spring boot·后端·开源
charlie1145141916 小时前
从0开始使用面对对象C语言搭建一个基于OLED的图形显示框架(协议层封装)
c语言·驱动开发·单片机·学习·教程·oled
马船长7 小时前
[BSidesCF 2020]Had a bad day1
学习
还是鼠鼠7 小时前
图书管理系统 Axios 源码 __删除图书功能
前端·javascript·vscode·ajax·前端框架·node.js·bootstrap
黄交大彭于晏7 小时前
三端回链增加截图功能
学习