当前位置: 首页 > news >正文

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模块——读写文件

//模块:类似插件,封装了方法和属性;
//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和一些特定端口号被占用,我们自己编写服务程序请避开使用

/*** 创建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

const baseURL = 'http://hmajax.itheima.net'
const getArraySum = arr => arr.reduce((sum,item) => sum += item,0
)  //导出
module.exports = {url:baseURL,arraySum: getArraySum
}

导入文件

/*** 需求:定义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

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.导入文件

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内容

{"type": "module"
}
ECMAScript标准——命名导出和导入

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

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

import { arraySum } from "../commonJS/util"export const baseURL = 'http://hmajax.itheima.net'
export const getArraySum = arr => arr.reduce((sum,item) => sum += item,0
)  
/*** 1.导出:export default {}* 2.导入:import 变量名 from '模块名或路径'*///导入
import {baseURL,getArraySum} from './util.js'
console.log(baseURL)
console.log(getArraySum)

 六、 包

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

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

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

相关文章:

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

一、认识Node.js Node.js是一个跨平台JavaScript运行环境,使开发者可以搭建服务器端的JavaScript应用程序 使用Node.js编写服务器端程序——编写数据接口、前端工程化; Node.js环境没有BOM和DOM; Node.js安装:下载node-v16.19…...

角膜移植难题现,传统方式缺陷显,创新水凝胶破局

大家好!今天来了解一篇天然聚合物衍生光固化生物粘附水凝胶研究——《Natural polymer-derived photocurable bioadhesive hydrogels for sutureless keratoplasty》发表于《Bioactive Materials》。本文介绍了一种用于无缝合角膜移植术的天然聚合物衍生光固化生物粘…...

探索Spring Boot:实现“衣依”服装电商平台

1系统概述 1.1 研究背景 如今互联网高速发展,网络遍布全球,通过互联网发布的消息能快而方便的传播到世界每个角落,并且互联网上能传播的信息也很广,比如文字、图片、声音、视频等。从而,这种种好处使得互联网成了信息传…...

使用 cron 来设置定时任务

使用 cron 来设置定时任务,以便定期运行这个脚本。 在 Linux 系统中设置定时任务的步骤: 1. 编辑 cron 任务 打开终端并输入以下命令以编辑 crontab 文件: crontab -e2. 设置每天 8 点运行脚本 在 crontab 文件的最后,添加以下…...

C# Blazor Server 调用海康H5Player播放摄像头画面

目标 调用海康综合安防平台api,通过摄像头的cameraIndexCode调用【获取监控点预览取流URLv2】api,得到websocket 的url,然后在blazor server中使用htplayer.js播放摄像头实时画面。 步骤 根据摄像头名字,调用【查询监控点列表v2…...

CSS实现服务卡片

CSS实现服务卡片 效果展示 CSS 知识点 回顾整体CSS知识点灵活运用CSS知识点 页面整体布局 <div class"container"><div class"card"><div class"box"><div class"icon"><ion-icon name"color-pal…...

问:如何判断系统环境是大端/小端存储?

大端存储&#xff08;Big Endian&#xff09;和小端存储&#xff08;Little Endian&#xff09;是两种不同的字节序&#xff08;即字节顺序&#xff09;规则&#xff0c;用于在计算机中存储和表示多字节数据类型&#xff08;例如整数&#xff09;。 概念解释 大端存储&#x…...

使用NumPy进行线性代数的快速指南

介绍 NumPy 是 Python 中用于数值计算的基础包。它提供了处理数组和矩阵的高效操作&#xff0c;这对于数据分析和科学计算至关重要。在本指南中&#xff0c;我们将探讨 NumPy 中可用的一些基本线性代数操作&#xff0c;展示如何通过运算符重载和内置函数执行这些操作。 元素级…...

uni-app之旅-day02-分类页面

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言创建cate分支4.1 渲染分类页面的基本结构4.2 获取分类数据4.3 动态渲染左侧的一级分类列表4.4 动态渲染右侧的二级分类列表4.5 动态渲染右侧的三级分类列表4.6 …...

鸿蒙harmonyos next flutter通信之BasicMessageChannel获取app版本号

本文将通过BasicMessageChannel获取app版本号&#xff0c;以此来演练BasicMessageChannel用法。 建立channel flutter代码&#xff1a; //建立通道 BasicMessageChannel basicMessageChannel BasicMessageChannel("com.xmg.basicMessageChannel",StringCodec());…...

【文件增量备份系统】MySQL百万量级数据量分页查询性能优化

&#x1f3af; 导读&#xff1a;本文针对大数据量下的分页查询性能问题进行了深入探讨与优化&#xff0c;最初查询耗时长达12秒&#xff0c;通过避免全表计数及利用缓存保存总数的方式显著提升了浅分页查询速度。面对深分页时依然存在的延迟&#xff0c;采用先查询倒数第N条记录…...

音视频入门基础:FLV专题(12)——FFmpeg源码中,解析DOUBLE类型的ScriptDataValue的实现

一、引言 从《音视频入门基础&#xff1a;FLV专题&#xff08;9&#xff09;——Script Tag简介》中可以知道&#xff0c;根据《video_file_format_spec_v10_1.pdf》第80到81页&#xff0c;SCRIPTDATAVALUE类型由一个8位&#xff08;1字节&#xff09;的Type和一个ScriptDataV…...

【AI知识点】分层可导航小世界网络算法 HNSW(Hierarchical Navigable Small World)

HNSW&#xff08;Hierarchical Navigable Small World&#xff09;分层可导航小世界网络算法 是一种高效的近似最近邻搜索&#xff08;Approximate Nearest Neighbor Search, ANN&#xff09; 算法&#xff0c;特别适用于大规模、高维数据集的相似性检索。HNSW 基于小世界网络&…...

ubuntu图形界面右上角网络图标找回解决办法

问题现象&#xff1a; ubuntu图形界面右上角网络图标消失了&#xff0c;不方便联网&#xff1a; 正常应该是下图&#xff1a; 网络寻找解决方案&#xff0c;问题未解决&#xff0c;对于某些场景可能有用&#xff0c;引用过来&#xff1a; 参考方案 Ubuntu虚拟机没有网络图标或…...

maven安装本地jar包到本地仓库

有时候我们需要把本地的 jar 包 install 到本地的 maven 仓库&#xff0c;这时就需要手动install依赖项。例如&#xff0c;把下面的 zhdx-license-1.0.jar 安装到本地 maven 仓库的操作如下&#xff1a; <dependency><groupId>com.zhdx</groupId><artifa…...

1panel申请https/ssl证书自动续期

参考教程 https://hin.cool/posts/sslfor1panel.html #Acme 账户 #1panel.腾讯云dns账号 这里有一步不需要参考,腾讯云dns账号,就是子帐号授权 直接控制台搜索 访问管理 创建用户 授权搜索dns,选择第一个 点击用户名,去掉AdministratorAccess权限 5.点击api密钥生成即可…...

【C语言】指针篇 | 万字笔记

写在前面 在学习C语言过程&#xff0c;总有一个要点难点离不开&#xff0c;那就是大名鼎鼎的C语言指针&#xff0c;也是应为有指针的存在&#xff0c;使得C语言一直长盛不衰。因此不才把指针所学的所有功力都转换成这个笔记。希望对您有帮助&#x1f970;&#x1f970; 学习指…...

使用transformers调用owlv2实现开放目标检测

目录 安装Demo 安装 pip install transformersDemo from PIL import Image, ImageDraw, ImageFont import numpy as np import torch from transformers import AutoProcessor, Owlv2ForObjectDetection from transformers.utils.constants import OPENAI_CLIP_MEAN, OPENAI_…...

大数据技术:Hadoop、Spark与Flink的框架演进

大数据技术&#xff0c;特别是Hadoop、Spark与Flink的框架演进&#xff0c;是过去二十年中信息技术领域最引人注目的发展之一。这些技术不仅改变了数据处理的方式&#xff0c;而且还推动了对数据驱动决策和智能化的需求。在大数据处理领域&#xff0c;选择合适的大数据平台是确…...

Spring Boot框架下的新闻推荐技术

1系统概述 1.1 研究背景 如今互联网高速发展&#xff0c;网络遍布全球&#xff0c;通过互联网发布的消息能快而方便的传播到世界每个角落&#xff0c;并且互联网上能传播的信息也很广&#xff0c;比如文字、图片、声音、视频等。从而&#xff0c;这种种好处使得互联网成了信息传…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日&#xff0c;国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解&#xff0c;“超级…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言&#xff1a;语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域&#xff0c;文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量&#xff0c;支撑着搜索引擎、推荐系统、…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

【HTTP三个基础问题】

面试官您好&#xff01;HTTP是超文本传输协议&#xff0c;是互联网上客户端和服务器之间传输超文本数据&#xff08;比如文字、图片、音频、视频等&#xff09;的核心协议&#xff0c;当前互联网应用最广泛的版本是HTTP1.1&#xff0c;它基于经典的C/S模型&#xff0c;也就是客…...

MySQL用户和授权

开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务&#xff1a; test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库&#xff0c;专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性&#xff0c;并提供了一个通用的框架&…...

华硕a豆14 Air香氛版,美学与科技的馨香融合

在快节奏的现代生活中&#xff0c;我们渴望一个能激发创想、愉悦感官的工作与生活伙伴&#xff0c;它不仅是冰冷的科技工具&#xff0c;更能触动我们内心深处的细腻情感。正是在这样的期许下&#xff0c;华硕a豆14 Air香氛版翩然而至&#xff0c;它以一种前所未有的方式&#x…...