2024/2/7总结

Node.js 

什么是node.js

node.js是一个基于chrome v8 引擎的 JavaScript 运行环境

  • 浏览器是JavaScript的前端运行环境
  • node.js是JavaScript的后端运行环境

node.js中无法调用DOM和BOM等浏览器内置API

fs模块

是node.js官方提供的、用来操作文件的模块,它提供了一系列的方法和属性,用来满足用户对文件的操作需求。

fs.readFile() 用来读取指定文件中的内容

fs.writeFile() 用来向指定的文件中写入内容

http模块

http模块是Node.js官方提供的、用来创建web服务器的模块,提供http模块提供的http.createServer() 方法,就能方便的把一台普通的电脑,变成一台web服务器,从而对外提供web服务器。

为了防止乱码 可以在end前写上这么一句话

res.setHeader('Content-Type','text/html;charset=utf-8')

模块化

什么是模块化

模块化是指解决一个复杂问题时,自顶向下逐层把系统划分成若干模块的过程,对于整个系统来说,模块时可组合,分解和更换的单元

Node.js 中模模块的分类

有3大类,分别是

  • 内置模块

是由Node.js官方提供的,例如 fs,path,http

  • 自定义模块

用户创建的每个js文件,都是自定义模块

  • 第三方模块

由第三方开发出来的模块,使用前需要下载

模块作用域

和函数作用域相似,在自定义模块中定义的变量,方法等成员,只能在当前模块内被访问,这种模块级别的访问限制,叫做模块作用域

好处是防止变量污染

module对象

在每个js自定义模块中都有一个module对象,它里面存储了和当前模块有关的信息。

module.exports 对象可以将模块内的成员共享出去,供外界使用,外界使用 require 导入的即使 exports 导出的

模块化规范

Node.js遵循了CommonJS的模块化规范,CommonJS规定了模块的特性和各模块之间的相互依赖。CommonJS规定:每个模块内部,module变量代表当前模块,module变量是一个对象,他的exports属性是对外的接口。加载某个模块,其实就是加载该模块的module.exports属性,require()方法用于加载模块。

为什么需要包

由于Node.js的内置模块仅提供了一些底层的API,导致在基于内置模块进行项目开发的时候,效率很低。包是基于内置模块封装出来的,提供了更高级,更方便的API,极大的提高了开发效率。

听说现在学习node还是有点小早,还是学一些偏前端的东西吧

uniapp

在安装好 HBuilderX后 ,新建一个 vue 3 的项目,还不能跑起来,还需要安装相关插件

然后就能运行了

出现如下错误:

解决:

搞好了之后,就能正常运行了,会自动打开微信开发者工具

案例:

pages.json 文件中配置

yH5BAAAAAAALAAAAAAOAA4AAAIMhI+py+0Po5y02qsKADs=wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

uni-app 和原生小程序开发区别

每个页面都是一个 vue文件,数据绑定及事件处理同 vue.js 规范

uni.previewImage(Object object)

在新页面中全局预览图片,预览的过程中用户可以进行保存图片、发送给朋友等操作。

参数 : urls 一个数组,所有的 图片,current 当前图片链接

命令行创建 uniapp

vue3+ts版本 

npx degit dcloudio/uni-preset-vue#vite-ts 项目名称

用 vscode 开发 uni-app 项目

为什么选中 VScode 

HBuilderX 对 ts 类型暂不完善  而 VS code 对 ts 支持友好

需安装 插件

安装下面插件 以及在 tsconfig.json 里面做出如下设置

配置

如下设置便不会出错

如果要把 vscode 的项目用微信小程序跑起来:

找到 package.json 文件

使用 pnpm dev:mp-weixin 

在 微信小程序开发 里面 导入根目录生成的  dist  文件夹,在里面的 dev ,打开mp-weixin文件夹,对应上 appId 即可进行编译,实时预览。

基础架构

使用 uni-ui 组件库

安装

pnpm i @dcloudio/uni-ui

组件自动导入

这段放在 pages.json 文件根目录

"easycom": {"autoscan": true,"custom": {// uni-ui 规则如下配置"^uni-(.*)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue"}}
配置ts类型

pnpm i @uni-helper/uni-ui-types

在 tsconfig.json 里面的 type:

小程序端 pinia 持久化

在小程序中,pinia使用方法是一样的,但是在 持久化这里,网页端只需要写一个 true 就行,但是小程序端和 网页端不一样,需要重新配置,如下所示:

请求和上传文件拦截

配置拦截器

import { useMemberStore } from "@/stores"const baseURL='https://pcaapi-xiaotuxian-front-devtest.ithema.net'const httpInterceptor={baseURL:baseURL,invoke(options:UniApp.RequestOptions){if(options.url.startsWith('http')){options.url=baseURL+options.url}options.timeout=10000options.header={'source-client':'miniapp',...options.header}const memberStore=useMemberStore()const token = memberStore?.profile?.tokenif(token){options.header.Authorization=token}}
}uni.addInterceptor('request', httpInterceptor)uni.addInterceptor('uploadFile', httpInterceptor)

今天配置了好多东西,感觉uniapp还是挺麻烦的,再学学吧先,其实还不如直接写一个微信小程序,因为还是要借助微信开发者工具来看实时编译情况。都把 HBuilderX 下载好了,结果和我说 使用 VS code 更方便。

很想鼠

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

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

相关文章

初识 Protobuf 和 gRpc

初步了解 Protobuf 和 gRpc Protocol Buffers Protocol Buffers(又称protobuf)是谷歌的语言无关、平台无关、可扩展的机制,用于序列化结构化数据。您可以在protobuf的文档中了解更多关于它的信息。 ProtoBuf 的定义 ProtoBuf是将类的定义…

PostgreSql与Postgis安装

POstgresql安装 1.登录官网 PostgreSQL: Linux downloads (Red Hat family) 2.选择版本 3.安装 ### 源 yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm ### 客户端 yum install postgresql14 ###…

Python使用zdppy_es国产框架操作Elasticsearch实现增删改查

Python使用zdppy_es国产框架操作Elasticsearch实现增删改查 本套教程配套有录播课程和私教课程,欢迎私信我。 Docker部署ElasticSearch7 创建基本容器 docker run -itd --name elasticsearch -p 9200:9200 -e "discovery.typesingle-node" -e ES_JAVA_…

获取目标进程导入DLL模块地址的方法

以下是一些常用的方法&#xff0c;可以用于获取目标进程导入DLL模块的地址。根据具体情况选择合适的方法&#xff0c;并注意安全性和稳定性&#xff1a; 1、使用 LoadLibrary 函数和 GetModuleHandle 函数&#xff1a; #include <Windows.h>// 获取目标进程中某个 DLL …

MySQL基础查询篇(10)-正则表达式的基础使用

正则表达式在MySQL数据库中是非常强大且常用的功能&#xff0c;它可以帮助我们快速的匹配和处理文本数据。在MySQL中&#xff0c;正则表达式的使用可以通过正则表达式函数来实现。 MySQL中常用的正则表达式函数有&#xff1a; REGEXP/RLIKE&#xff1a;通过正则表达式进行模式…

java Map集合相关介绍和方法使用操作

Java的Map集合是存储键值对的一种数据结构。在Map中&#xff0c;每个键都是唯一的&#xff0c;用来标识该键值对。 Map接口是java.util包中的一部分&#xff0c;它有多个实现类&#xff0c;包括HashMap&#xff0c;TreeMap&#xff0c;LinkedHashMap等。 下面是Map接口的一些…

Docker的镜像和容器的区别

1 Docker镜像 假设Linux内核是第0层&#xff0c;那么无论怎么运行Docker&#xff0c;它都是运行于内核层之上的。这个Docker镜像&#xff0c;是一个只读的镜像&#xff0c;位于第1层&#xff0c;它不能被修改或不能保存状态。 一个Docker镜像可以构建于另一个Docker镜像之上&…

P2957

题目描述 The cows enjoy mooing at the barn because their moos echo back, although sometimes not completely. Bessie, ever the excellent secretary, has been recording the exact wording of the moo as it goes out and returns. She is curious as to just how mu…

numa网卡绑定

#概念 参考&#xff1a;https://www.jianshu.com/p/0f3b39a125eb(opens new window) chip&#xff1a;芯片&#xff0c;一个cpu芯片上可以包含多个cpu core&#xff0c;比如四核&#xff0c;表示一个chip里4个core。 socket&#xff1a;芯片插槽&#xff0c;颗&#xff0c;跟…

Sping Cloud Hystrix 参数配置、简单使用、DashBoard

Sping Cloud Hystrix 文章目录 Sping Cloud Hystrix一、Hystrix 服务降级二、Hystrix使用示例三、OpenFeign Hystrix四、Hystrix参数HystrixCommand.Setter核心参数Command PropertiesFallback降级配置Circuit Breaker 熔断器配置Metrix 健康统计配置Request Context 相关参数C…

Docker容器监控-CIG

目录 一、CIG说明 1. CAdvisor 2. InfluxDB 3. Grafana 二、环境搭建 1. 创建目录 2. 编写 docker-compose.yml 3. 检查并运行容器 三、进行测试 1. 查看 influxdb 存储服务 是否能正常访问 2. 查看 cAdvisor 收集服务能否正常访问 3. 查看 grafana 展现服务&#…

金融行业专题|证券超融合架构转型与场景探索合集(2023版)

更新内容 更新 SmartX 超融合在证券行业的覆盖范围、部署规模与应用场景。新增操作系统信创转型、Nutanix 国产化替代、网络与安全等场景实践。更多超融合金融核心生产业务场景实践&#xff0c;欢迎阅读文末电子书。 在金融行业如火如荼的数字化转型大潮中&#xff0c;传统架…

路由器如何映射端口映射?

在现代互联网中&#xff0c;随着网络应用的不断发展&#xff0c;很多用户需要进行远程访问或搭建服务器来满足自己的需求。由于网络安全的原因&#xff0c;直接将内网设备暴露在公网中是非常危险的。为了解决这个问题&#xff0c;路由器映射端口映射技术应运而生。本文将介绍什…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Span组件

鸿蒙&#xff08;HarmonyOS&#xff09;项目方舟框架&#xff08;ArkUI&#xff09;之Span组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、Span组件 鸿蒙&#xff08;HarmonyOS&#xff09;作为Text组件的子组件&#xff0…

C#基础-线程暂停方案之重置事件

默认情况下&#xff0c;一个线程的特定指令相对于另一个线程中的指令的执行时机是不确定的&#xff0c;如果想要对这种不确定性进行控制&#xff0c;其中一种办法就是使用重置事件&#xff08;虽然称为事件&#xff0c;但是跟C#的委托跟事件没关系&#xff09;。 重置事件用于…

uniapp 开发App 权限授权 js-sdk

从官网的插件市场下载的&#xff1a; 直接上代码&#xff1a; /*** 本模块封装了Android、iOS的应用权限判断、打开应用权限设置界面、以及位置系统服务是否开启*/var isIos // #ifdef APP-PLUS isIos (plus.os.name "iOS") // #endif// 判断推送权限是否开启 fu…

Excel VBA exit退出循环

Excel VBA exit退出循环 exit for退出for循环&#xff0c;exit do用于退出do 或 do while循环&#xff1a; 获取非空行 Function GetNotNullRow(ByVal iStartRow, ByRef iRow) Dim Rng As Range For Each Rng In Range(“B” & iStartRow & “:” & “P” & …

【开源】JAVA+Vue+SpringBoot实现公司货物订单管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 客户管理模块2.2 商品维护模块2.3 供应商管理模块2.4 订单管理模块 三、系统展示四、核心代码4.1 查询供应商信息4.2 新增商品信息4.3 查询客户信息4.4 新增订单信息4.5 添加跟进子订单 五、免责说明 一、摘要 1.1 项目…

微信小程序新手入门教程四:样式设计

WXSS (WeiXin Style Sheets)是一套样式语言&#xff0c;用于描述 WXML 的组件样式&#xff0c;决定了 WXML 的组件会怎么显示。 WXSS 具有 CSS 大部分特性&#xff0c;同时为了更适合开发微信小程序&#xff0c;WXSS 对 CSS 进行了扩充以及修改。与 CSS 相比&#xff0c;WXSS …

Tkinter教程21:Listbox列表框+OptionMenu选项菜单+Combobox下拉列表框控件的使用+绑定事件

------------★Tkinter系列教程★------------ Tkinter教程21&#xff1a;Listbox列表框OptionMenu选项菜单Combobox下拉列表框控件的使用绑定事件 Tkinter教程20&#xff1a;treeview树视图组件&#xff0c;表格数据的插入与表头排序 Python教程57&#xff1a;tkinter中如何…