Vite的一个小坑
在IIS上部署Vite打包的静态项目, 各种原因需要在同一个IIS应用中要承载多个网页, 因此我的网站必须在公网地址加一个文件夹的子路径,像这样: http://xxx.cn/web 这时候需要在 Vite配置文件 配置 base 选项, 否则, 内部的构建路径都会出错. 顺便记录一个测试时前端解决CORS跨域问题的方案. 使用 Vite 的服务器代理, 在 Vite配置文件中 添加 se...
在IIS上部署Vite打包的静态项目, 各种原因需要在同一个IIS应用中要承载多个网页, 因此我的网站必须在公网地址加一个文件夹的子路径,像这样: http://xxx.cn/web 这时候需要在 Vite配置文件 配置 base 选项, 否则, 内部的构建路径都会出错. 顺便记录一个测试时前端解决CORS跨域问题的方案. 使用 Vite 的服务器代理, 在 Vite配置文件中 添加 se...
Vben Admin 源码解读 长期更新…… 为了提高编码能力和设计能力,并提高对Vue的理解,选择广受好评的 Vben Admin 项目进行学习。文章将 Vben 源码中涉及的Vue高级功能进行标注和解释,并对一些Vue组件设计思想进行解读。 本文不会涉及Vue基础内容 登陆 登陆动作有以下重点行为: 表单验证 - 组件行为,使用响应性完成 Form:rule ...
原文链接:阮一峰博客 本文总结一些关于非对称加密的要点,以及迷惑点。 公钥私钥效力相同,只是是否公开这一点不同。 公钥加密,私钥解密可以做到保密性,也就是不被监听。(加密过程请看原文) 私钥加密,公钥解密可以做到正确性,也就是不被篡改。(签名过程请看原文) 使用私钥将信息摘要进行加密,公钥解密后通过对比摘要的一致性来确保信息的正确性。这个过程叫做签名。 公钥有时需要...
转自某评论区解答 简单讲一下委托和回调,以及C#的泛型委托 回调和委托是两个概念。 委托是C#里对函数的类型的描述。是对函数的一种抽象。 举个例子: 声明一个int a,我们可以一直改变他的值,但他的类型一直是 int。 类比一下,我们声明一个函数 void func1(){},但是这个函数就不能变了,在编译器眼里,func1()就代表执行该函数,func1就代表该函数。...
通用主机是 dotnet 运行时库提供的功能。 通用主机与web主机的区别在于,前者去掉了Http管道相关的内容。只保留了 依赖注入、Logging、Configuration、HostedService等内容。 通用主机在启动时,调用配置好的Service的StartAsync方法。也就是异步启动服务。 服务继承自 IHostService,包括两种类型,一种BackgroundSe...
0. HttpContext.User 微软官方文档 HttpContext 当Asp.net服务器收到一个请求后,就会创建并维护一个HttpContext对象。 而有关用户身份的内容保存在 User 字段中。 1. 身份验证 由于Http是无状态的,因此服务器需要特殊的手段来识别Http请求来自哪个用户。 通常我们在请求报文中包含有关用户身份的信息(可能是一个加密串,或者Coo...
TSource source = new TSource(); if (configureSource != null) configureSource(source); return builder.Add((IConfigurationSource) source); 以上是一个配置提供程序扩展的主要逻辑 总之就是实例化 IConfigurationSource 并用自己的配置...
结论 为了节约观者时间,把结论先放在这里。如果你看懂了,就可以忽略文章内容。 await 的语义是:等待 Task 执行完成 async 的语义是:声明异步函数,由线程池来执行该任务。 当一个执行过程中有 await 时(async函数),编译器会为之生成一个状态机。每一个 await 任务都是状态机的一个状态,这些状态根据 await语句 的顺序依次切换,只有当上一个 await ...
从原初开始, 重走时代的路程. webpack 是一个纯粹的 静态模块打包工具 概念 webpack 会从 一个 或 多个 入口构建 依赖图, 并将项目中的模块打包成一个或多个 bundles. 入口起点: 用来指示 webpack 使用哪个模块, 作为构造 依赖图 的起点. 默认值是 ./src/index.js , 可以在配置文件中配置 entry 属性,...