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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1551188.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

聚观早报 | Redmi K80 Pro电池细节;vivo X200 Pro mini真机照

聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。 整理丨Cutie 9月30日消息 Redmi K80 Pro电池细节 vivo X200 Pro mini真机照 广汽集团正制订深化改革方案 蔚来中国获新一轮增…

敢不敢动手?AI绘画+表情包制作,7步搞定超萌表情!

在这个信息爆炸的时代,表情已经成为我们日常沟通中不可或缺的一部分。然而,过去制作个性化表情包不仅耗时费力,还需要掌握复杂的设计软件,如AE、AI、(Adobe Illustrator )、PS。然而,随着AI绘画技术的兴起&…

一天学习开发一个APP!PDF转Word文档,Power Platform也能搞定

之前,给大家分享了微软Power Platform开发课程——手把手教你搭建二维码识别器,大家都很感兴趣。听说,很多小伙伴对于PDF转Word文档有困扰,这期我们继续为大家分享Power Platform的开发能力与技巧,怎么通过Power Platf…

hex 文件和 bin 文件剖析

目录 一、概述二、hex 文件三、bin 文件 在单片机开发中,hex 文件和 bin 文件是非常常见的两种烧写文件格式。比如在 Keil 中,编译好程序后,点击 Download 就可以把 hex 文件烧录到板子上。 而有时候在我们实现 IAP 时,有需要生成…

jmeter中token测试

案例: 网站:http://shop.duoceshi.com 讲解:用三个接口来讲解 第一个接口code:GET http://manage.duoceshi.com/auth/code 第二个登录接口:http://manage.duoceshi.com/auth/login 第三个接口:http://…

探索SpringBoot:学科竞赛管理项目开发

2 相关技术简介 2.1Java技术 Java是一种非常常用的编程语言,在全球编程语言排行版上总是前三。在方兴未艾的计算机技术发展历程中,Java的身影无处不在,并且拥有旺盛的生命力。Java的跨平台能力十分强大,只需一次编译,任…

fish-speech语音大模型本地部署

文章目录 fish-speech模型下载编译部署 小结 fish-speech模型 先说下fish-speech模型吧,可以先看下官网。如下: 这就是一个模型,可以根据一个样例声音,构建出自己需要的声音。其实,这个还是有很多用途的;…

产品管理- 互联网产品(5):运营知识与技能

了解运营 1、运营的基础是产品认清受众,切实解决问题、用户需求 2、运营活动贯穿产品的整个生命周期 3、找准用户,建立MVP 4、明确产品的应用场景。用户在何场景下基于何种需求使用产品?务必短流程 5、AARRR模型 6、运营管理流程类似产品管理…

API版本管理秒杀ApiFox的ApiFirst对比功能雏形演示

文章目录 前言第一版对比功能说明视频演示 前言 目前市面上主流的API管理工具在版本管理上,个人觉得做的比较粗糙,无法很直观的体现出版本之间差异,还停留在api元数据的文本比较上。用户更希望在浏览API文档阅读模式时能像word标注一样&…

Sqlserver 连接 chche 数据库详细步骤

zihao 第一步,安装ODBC驱动 在windows资源管理器里粘贴以下地址,会进入到驱动文件夹 ftp://ftp.intersystems.com/pub/cache/odbc/2018/ 第二步,添加ODBC 安装后,可能需要重启。然后打开控制面板,搜素ODBC&#xf…

The legacy JS API is deprecated and will be removed in Dart Sass 2.0

The legacy JS API is deprecated and will be removed in Dart Sass 2.0 更新了sass版本后,启动项目控制台一直在报错,影响开发效率,强迫症表示忍受不了。 字面意思是:Sass在2.0版本将会移除legacy JS API,所以现在使…

【ESP 保姆级教程】小课设篇 —— 案例:20231219_基于 ESP32 TFT显示课程表

忘记过去,超越自己 ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️❤️ 本篇创建记录 2024-09-30 ❤️❤️ 本篇更新记录 2023-09-30 ❤️🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言📝🙏 此博客均由博主单独编写,不存在任何商业团队运营,如发现错误,请…

Linux命令一文速通速成

目录 嵌入式Linux的组成 Linux的介绍 Linux和发行版本 Linux应用 Linux特点 Linux发行版 GNU Linux目录结构 为什么要使用Linux命令? 登录 ​编辑 说明 shell是什么? bash shell Linux命令格式 命令格式举例 命令中的其他组成 Linux系统…

基于SpringBoot的诗词学习网站的设计与实现

目录 毕设制作流程功能和技术介绍系统实现截图开发核心技术介绍:使用说明开发步骤编译运行代码执行流程核心代码部分展示可行性分析软件测试详细视频演示源码获取 毕设制作流程 (1)与指导老师确定系统主要功能; (2&am…

fastAPI教程:路由操作及HTTP请求响应

FastAPI 三、路由操作 3.1 路由装饰器 路由装饰器,也叫路径操作装饰器。 FastAPI提供了一系列基于HTTP请求作为方法名的装饰器给开发者用于绑定url地址提供给外界操作API接口。 HTTP方法FastAPI代码描述GETapp.get()async 方法名(): pass获取数据POSTapp.post(…

python15_转换为ASCII

转换为ASCII A A B 你好 C 66def str_to_ascii(s):# 如果输入是单个字符,直接返回其ASCII值if len(s) 1:return ord(s)# 否则返回每个字符的ASCII值列表return [ord(char) for char in s]def int_to_ascii(i):# 将整数转换为对应的ASCII字符return chr(i)if __…

光储一体化在停车场中的应用

近年来,光伏作为一种绿色环保无污染的可再生能源在中国的发展迅速。据统计,2022 全年光伏发电量为 4276 亿千瓦时,同比增长 30.8%,约占全国全年总发电量的 4.9%。然而,光伏发电也存在着不稳定性的问题,因此储能技术的发展成为克服…

AutoGen实现多代理-Tool_Use_and_Conversational_Chess(四)

1. 学习背景 如图,常见的Agent之间交流对话,可能会涉及到外部工具的调用和嵌套式聊天,这种设计模式就要求代理会使用工具和按序执行代码。本节尝试聊天机器人模拟人类进行下棋,如图所示,Chess Board代理则进行检测合…

【CSS Tricks】css动画详解

目录 引言一、动画关键帧序列二、动画各属性拆解1. animation-name2. animation-duration3. animation-delay3.1 设置delay为正值3.2 设置delay为负值 4. animation-direction5. animation-iteration-count6. animation-fill-mode7. animation-play-state8. animation-timing-f…

【大牛!】3DMAX城市交通插件CityTraffic使用方法详解

3dMax城市交通插件CityTraffic有助于在城市环境和越野环境中创建汽车交通流。特殊的道路编辑器和自动汽车设置大大加快了交通运动模拟场景的准备速度。 每辆车的配置多种多样,无论是悬架支架的调整还是驾驶风格,都能够创建逼真的模拟。动力学计算使复杂表面的运动更加真实,…