AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(六)

《诗·小雅·小旻》:“战战兢兢,如临深渊,如履薄冰。”

01.Nodejs安装与使用

什么是 Node.js?

什么是前端工程化?

Node.js 为何能执行 JS?

查看当前使用的Node.js版本:node -v

执行JS:node 01.js

Node.js 安装

总结

02.fs 模块 - 读写文件

加载fs模块对象到自己编写的js文件中,进行写与读

数据流对象默认为十六进制,使用toString方法转化

03.path 模块 - 路径处理

我们在nodejs环境中执行js代码,它的所有相对路径是以终端文件夹作为起点

疑问:在windows中要用\反斜杠吗?—— 传到join方法中会做转换

成功找到test.txt文件

使用path模块的join方法,结合_dirname生成的绝对路径,

可在任意位置开启的终端找到所需文件。

04.案例 - 压缩前端 html

实践代码:

/*** 目标1:压缩 html 代码* 需求:把回车符 \r,换行符 \n 去掉,写入到新 html 文件中*  1.1 读取源 html 文件内容*  1.2 正则替换字符串*  1.3 写入到新的 html 文件中*/
// 1.1 读取源 html 文件内容
const fs = require('fs')
const path = require('path')
fs.readFile(path.join(__dirname, 'public/index.html'), (err, data) => {if (err) console.log(err)else {const htmlStr = data.toString()// 1.2 正则替换字符串const resultStr = htmlStr.replace(/[\r\n]/g, '')console.log(resultStr)// 1.3 写入到新的 html 文件中fs.writeFile(path.join(__dirname, 'dist/index.html'), resultStr, err => {if (err) console.log(err)else console.log('写入成功')})}
})

写入的代码只有一行

05.URL 中的端口号

注意:http 协议,默认访问 80 端口(所以之前访问接口的时候没有加端口号,也能获取到数据)

06.http 模块-创建 Web 服务

执行时server.js,与之前不同,没有停止执行,它会在终端里启动一个进程,进程持续存在,监听有无请求,有请求就会触发处理函数,返回一个响应内容。

之前执行完后,会立刻出现路径,再让你输入下一条命令

07.案例-浏览时钟

实践代码:

/*** 目标:基于 http 模块创建 Web 服务程序*  1.1 加载 http 模块,创建 Web 服务对象*  1.2 监听 request 请求事件,设置响应头和响应体*  1.3 配置端口号并启动 Web 服务*  1.4 浏览器请求(http://localhost:3000)测试*/
// 1.1 加载 http 模块,创建 Web 服务对象
const http = require('http')
const server = http.createServer()
// 1.2 监听 request 请求事件,设置响应头和响应体
server.on('request', (req, res) => {// 设置响应头-内容类型-普通文本以及中文编码格式res.setHeader('Content-Type', 'text/plain;charset=utf-8')// 设置响应体内容,结束本次请求与响应res.end('欢迎使用 Node.js 和 http 模块创建的 Web 服务')
})
// 1.3 配置端口号并启动 Web 服务
server.listen(3000, () => {console.log('Web 服务启动成功了')
})

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux(Debina12)系统安装

在开发或学习中,linux系统是我们必须要熟悉的系统,那么今天就记录一下,较为稳定,也是小编这几年当做开发环境的发行版吧 官网地址 https://www.debian.org 下载链接 http://mirrors.163.com/debian-cd/12.4.0/amd64/iso-dvd/ …

先锋WEB燃气收费系统 Upload.aspx 文件上传漏洞复现

0x01 产品简介 先锋WEB燃气收费系统是一种先进的在线燃气收费解决方案,旨在简化和优化燃气收费的流程和管理。该系统基于Web平台,提供了一系列功能和工具,使燃气公司能够高效地进行收费、账单管理和客户服务。 0x02 漏洞概述 先锋WEB燃气收费系统/AjaxService/Upload.asp…

PHP版学校教务管理系统源码带文字安装教程

PHP版学校教务管理系统源码带文字安装教程 运行环境 服务器宝塔面板 PHP 7.0 Mysql 5.5及以上版本 Linux Centos7以上 系统介绍: 后台权限控制:支持多个管理员,学生管理,学生成绩,教师管理,文章管理&#x…

随机漫步【scatter的使用】

去掉scatter的坐标轴(未成功版) import matplotlib.pyplot as plt from random import choice class RandomWalk():def __init__(self,num_points 5000):self.num_points num_pointsself.x_values [0]self.y_values [0]def fill_walk(self):while l…

实现秒杀功能设计

页面 登录页面 登录成功后,跳转商品列表 商品列表页 加载商品信息 商品详情页 根据商品id查出商品信息返回VO(包括rmiaoshaStatus、emainSeconds)前端根据数据展示秒杀按钮,点击开始秒杀 订单详情页 秒杀页面设置 后端返回秒杀…

Pycharm close project 速度缓慢解决办法

解决Pycharm close project缓慢现象 1.问题描述 close project后需要等待很长的时间。 2.解决办法 在Help -> Find Action -> 输入 Registry -> 禁用ide.await.scope.completion 问题解决!!! 😃😃&#x…

LeetCode+ 56 - 60

合并区间 双指针算法、位运算、离散化、区间合并_小雪菜本菜的博客-CSDN博客 class Solution { public:vector<vector<int>> merge(vector<vector<int>>& a) {vector<vector<int>> res;if(a.empty()) return res;sort(a.begin(),a.en…

SSH密钥生成

ssh-keygen -t rsa -C "xxxxxxxxcom" cat ~/.ssh/id_rsa.pub

并发编程(九)

1、线程池的好处 第一&#xff1a;降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 第二&#xff1a;提高响应速度。当任务到达时&#xff0c;任务可以不需要等到线程创建就能立即执行。 第三&#xff1a;提高线程的可管理性。线程是稀缺资源&#x…

Android开发基础(四)

Android开发基础&#xff08;四&#xff09; 本篇将从Android数据存储方式去理解Android开发。 Android数据存储方式 Android提供了多种数据存储方式。 一、SharedPreferences存储 主要用于存储一些简单的配置信息&#xff0c;如登录账号密码等&#xff1b; 这种存储方式采…

C++_多态(函数指针)

多态 介绍虚函数覆盖(重写)多态源码运行结果 笔记扩充(函数指针源码) 介绍 本文主要介绍 多态这个概念 (PS:多态只是一种概念形式) 虚函数 1.成员函数前 加上关键词 virtual &#xff0c;该函数称为虚函数 (PS:static函数除外) 2.虚函数 按照实际 函数类型调用 (PS:如果基类中 …

vite+vue3创建项目及开发常见的问题

创建项目 1、npm create vitelatest 下一步&#xff0c;选vue 下一步&#xff0c;选typescript 成功&#xff1b; 2、进入项目&#xff0c;npm install 手动安装vue和vite相关的依赖包&#xff1b; 3、npm run dev 运行项目 常见问题 1、dev run dev 运行项目时&#xff0c;…

U盘启动安装win11遇到缺少计算机所需的介质驱动程序问题

一、使用U盘制作启动盘遇到问题 下载了windows原版镜像&#xff0c;验证了md5&#xff0c;确保文件没有损坏。使用ultroiso制作u盘启动盘&#xff0c;开始安装后出现下图的报错&#xff1a; 在网上搜索解决方案&#xff0c;主要有以下几种&#xff1a; 安装的时候&#xff0c…

MySQL 8.0 InnoDB Tablespaces之Temporary Tablespaces(临时表空间)

文章目录 MySQL 8.0 InnoDB Tablespaces之Temporary Tablespaces&#xff08;临时表空间&#xff09;会话临时表空间会话临时表空间的磁盘分配和回收会话临时表空间的创建创建临时表和查看临时表信息会话临时表空间相关的设置参数innodb_temp_tablespaces_dir 全局临时表空间查…

leetcode 每日一题 2024年01月09日 字符串中的额外字符

题目 字符串中的额外字符 给你一个下标从 0 开始的字符串 s 和一个单词字典 dictionary 。你需要将 s 分割成若干个 互不重叠 的子字符串&#xff0c;每个子字符串都在 dictionary 中出现过。s 中可能会有一些 额外的字符 不在任何子字符串中。 请你采取最优策略分割 s &…

Tensorflow2.0笔记 - 修改形状和维度

本次笔记主要使用reshape&#xff0c;transpose&#xff0c;expand_dim&#xff0c;和squeeze对tensor的形状和维度进行操作。 import tensorflow as tf import numpy as nptf.__version__#tensor的shape和维数获取 #假设下面这个tensor表示4张28*28*3的图片 tensor tf.rando…

【我的RUST库】get_local_info 0.2.1发布

get_local_info是一个获取linux本地信息的Rust三方库&#xff0c;其目标是降低获取本地linux系统信息的难度。支持银河麒麟10、UOS、鸿蒙等国产系统。 项目维护&#xff1a;长期 当前功能&#xff1a; 1.网络功能 1.1.获取网络接口信息 1.2 获取活动网卡信息&#xff1a;网…

延时任务的解决方案

延时任务的解决方案 1.数据库轮询2. JDK的延迟队列3.netty时间轮算法4.使用消息队列 1.数据库轮询 该方案通常是在小型项目中使用&#xff0c;即通过一个线程定时的去扫描数据库&#xff0c;通过订单时间来判断是否有超时的订单&#xff0c;然后进行update或delete等操作 代码示…

面试题-回溯算法解法模板

常见的回溯算法面试题 电话号码的字母组合 组合 全排列 组合总和 回溯算法解题模板 对于用回溯解决的题目&#xff0c;代码大部分可以用下面的模板来套&#xff1a; void backtracking(参数) {if (终止条件) {存放结果;return;}for (选择&#xff1a;本层集合中元素&…

C++核心编程——类和对象(二)

本专栏记录C学习过程包括C基础以及数据结构和算法&#xff0c;其中第一部分计划时间一个月&#xff0c;主要跟着黑马视频教程&#xff0c;学习路线如下&#xff0c;不定时更新&#xff0c;欢迎关注。 当前章节处于&#xff1a; ---------第1阶段-C基础入门 ---------第2阶段实战…