工具链 之 Vite 开发服务器所有选项解析(三)

server 配置

// vite.config.js  
import { defineConfig } from 'vite'  // https://vitejs.dev/config/  
export default defineConfig({  server: {  origin: 'http://127.0.0.1:8080', //用于定义开发调试阶段生成资源的 originhost: '0.0.0.0', // 监听所有可用的网络接口  port: 3000, // 设置端口号,可以根据需要修改  strictPort: true, //设为 true 时若端口已被占用则会直接退出,而不是尝试下一个可用端口https: {  key: fs.readFileSync('./path/to/your/server.key'), // 使用 Node.js 的 fs 模块读取私钥文件  (服务器私钥的路径或内容)cert: fs.readFileSync('./path/to/your/server.cert'), // 使用 Node.js 的 fs 模块读取证书文件  (服务器证书的路径或内容)ca: fs.readFileSync('./XX/xx.cert'), //附加的 CA 证书的路径或内容数组,用于创建完整的证书链。pfx: fs.readFileSync('./XX/xx.cert'),//或 pfxPath:包含私钥、证书和 CA 证书的 PFX 或 PKCS#12 编码的文件路径或内容。passphrase:'XXXX'//用于证书的密码短语}, open: 'google chrome', // 在开发服务器启动后自动打开 Google Chrome 浏览器----open: true, // 在开发服务器启动后自动打开浏览器----open: false, //默认值:falseproxy: {  //开发服务器配置自定义代理规则// 字符串简写写法:http://localhost:5173/foo -> http://localhost:4567/foo'/foo': 'http://localhost:4567',// 带选项写法:http://localhost:5173/api/bar --http://jsonplaceholder.typicode.com/bar'/api': {target: 'http://jsonplaceholder.typicode.com',changeOrigin: true,rewrite: (path) => path.replace(/^\/api/, ''),},// 正则表达式写法:http://localhost:5173/fallback/ -> http://jsonplaceholder.typicode.com/'^/fallback/.*': {target: 'http://jsonplaceholder.typicode.com',changeOrigin: true,rewrite: (path) => path.replace(/^\/fallback/, ''),},// 使用 proxy 实例'/api': {target: 'http://jsonplaceholder.typicode.com',changeOrigin: true,configure: (proxy, options) => {// proxy 是 'http-proxy' 的实例}},// 代理 websockets 或 socket.io 写法:ws://localhost:5173/socket.io -> ws://localhost:5174/socket.io'/socket.io': {target: 'ws://localhost:5174',ws: true,},},cors: {   // 选项用于配置跨域资源共享(CORS)策略origin: ['http://localhost:3000', 'https://example.com'], // 允许来自这些源的请求  methods: ['GET', 'POST', 'OPTIONS'], // 允许的方法  allowedHeaders: ['Content-Type', 'X-Custom-Header'], // 允许的头  exposedHeaders: ['Custom-Exposed-Header'], // 暴露给客户端的响应头  credentials: true, // 允许携带凭据  maxAge: 86400, // 预检请求的有效期为 24 小时  }, headers: {   //选项允许你为开发服务器添加自定义的 HTTP 响应头。这对于需要设置特定 HTTP 头的场景非常有用,比如设置安全相关的头(如 Content-Security-Policy)、缓存控制头(如 Cache-Control)或其他自定义头。'Content-Security-Policy': "default-src 'self'; script-src 'self' 'unsafe-inline' https://cdn.example.com",  'Cache-Control': 'no-cache, no-store, must-revalidate',  'X-Custom-Header': 'custom value',  'X-Another-Header': (url, ctx) => {  // 根据请求 URL 或上下文动态设置头值  if (url.pathname === '/dynamic-header') {  return 'dynamic value';  }  return 'default value';  }  }, hmr: {   //配置热模块替换(Hot Module Replacement,简称 HMR)的行为// 使用 'wss' 协议(WebSocket Secure)  protocol: 'wss',  // 指定 HMR 服务器的主机名  hostname: 'localhost',  // 指定 HMR 服务器的端口号  port: 443,  // WebSocket 连接的路径  path: '/hmr',  // 设置超时时间为 5000 毫秒  timeout: 5000,  // 在出现错误时显示一个覆盖层  overlay: true,  // 当 HMR 更新失败时强制刷新页面  reload: true,  // 自定义 HMR 客户端的行为  client: {  // ...自定义配置  }  },  // warmup选项主要用于配置开发服务器的预热(warmup)行为。预热是 Vite 的一种特性,它会在开发服务器启动后,预先构建一些页面或资源,以便在后续请求时能够更快地响应。这有助于提高开发时的页面加载速度和响应性能。warmup: 3,  // 启用预热功能,并指定预热时需要访问的页面数量 ----warmup: true,  //Vite 会在开发服务器启动后自动进行预热middlewareMode: true, // 启用中间件模式, 默认值:false},  fs: {strict: true, //限制为工作区 root 路径以外的文件的访问(自 Vite 2.7 起默认启用)// 允许为项目根目录的上一级提供服务allow: ['..']----allow: [// 搜索工作区的根目录searchForWorkspaceRoot(process.cwd()),// 自定义规则'/path/to/custom/allow_directory','/path/to/custom/allow_file.demo',],},// 这是默认值,它将把所有路径中含有 node_modules 的文件// 添加到忽略列表中。sourcemapIgnoreList(sourcePath, sourcemapPath) {return sourcePath.includes('node_modules')},
})

server.watch

在 Vite 中,server.watch 选项通常不是直接暴露给用户进行配置的,因为它涉及到 Vite 内部对文件系统的监视机制。然而,Vite 确实提供了一些与文件监视相关的配置选项,这些选项通常包含在 resolve、build 或其他配置部分中,而不是直接放在 server 配置下。
其中包含了一些与文件系统相关的配置

// vite.config.js  
import { defineConfig } from 'vite'  export default defineConfig({  // ...其他配置...  resolve: {  alias: {  // 配置别名,影响哪些文件被 Vite 监视和构建  '/@/': '/src/',  },  },  // build 配置通常用于生产构建,但也会影响开发时的监视行为  build: {  rollupOptions: {  input: {  // 指定 Rollup 的输入文件,间接影响 Vite 监视的文件  main: 'src/main.js',  // ...其他入口点...  },  },  // 禁用依赖项预构建以提高启动速度(注意:这可能会降低后续构建的速度)  optimizeDeps: {  disabled: true,  },  // 指定构建缓存的目录  cacheDir: 'node_modules/.vite',  },  // ...其他配置...  
})

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

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

相关文章

idea插件开发之在项目右键添加菜单

写在前面 本文看下如何在右键列表中增加菜单。 正戏 首先创建一个Action,要显示的menu选择ProjectViewPopupMenu,如下: action public class CAction extends AnAction {Overridepublic void actionPerformed(AnActionEvent e) { // …

MATLAB算法实战应用案例精讲-【数模应用】偏相关分析(附MATLAB、python和R语言代码实现)

目录 前言 知识储备 相关性分析 一、实际应用 二、理论思想 三、操作过程 四、结果分析 算法原理 什么是偏相关 数学模型 (一) 偏相关系数r (二) 假设检验 偏相关分析过程 偏相关分析的SPSS实现 SPSS、EXCLE实现偏相关分析 STATA SPSSPRO 1、作用 2、输入输…

C#语言入门详解 --- 方法(含传值 输出 引用 数组)

方法 方法标准式 <Access Specifier> <Return Type> <Method Name>(Parameter List) { Method Body } 让我们逐一对每一个模块进行解释&#xff1a; Access Specifier&#xff1a;访问修饰符&#xff0c;这决定了接下来的主题的可见性&#xff0c;包含p…

使用python绘制三维直方图

使用python绘制三维直方图 三维直方图定义特点 效果代码 三维直方图 维直方图&#xff08;3D直方图&#xff09;是一种用于展示三维数据分布情况的图表。它扩展了二维直方图的概念&#xff0c;通过在三维空间中绘制柱体来表示数据在三个维度&#xff08;X、Y、Z&#xff09;上…

漏斗限流(leaky bucket)

漏斗限流(leaky bucket&#xff09; 介绍工作原理leaky bucket实现示例&#xff1a;搭配pool池pool.lua示例搭配示例 对象池&#xff08;pool&#xff09;结合漏斗限流&#xff08;leaky bucket&#xff09;的好处&#xff1a; 介绍 漏斗限流&#xff08;leaky bucket&#xff…

Ollama 配置多并发和多模型

ollama新版已经支持了并发和多模型同时运行了&#xff0c; 系统资源够的可以走起了 默认的ollama服务是不支持的&#xff0c; 需要自己进行调整&#xff0c; 调整的方式如下&#xff1a; Linux为例 通过调用 编辑 systemd 服务systemctleditollama.service 这将打开一个编辑器…

Changes Coming to NIAP Entropy Assessment Reports in 2025

“What do you say to a room full of DRBGs standing around you? Everyone, please be seeded.” -Quin, atsec tester When things change, it can help to approach that change with a light heart like this. Recently, NIAP announced that Entropy Assessment Rep…

结合gin框架在沙箱环境下实现电脑网站支付和当面支付

文章目录 配置支付宝开放平台编写代码测试电脑网站支付当面扫码支付 配置支付宝开放平台 支付宝开放平台 点击链接&#xff0c;扫码进入后&#xff0c;点击沙箱&#xff1a; 点击沙箱应用&#xff0c;可以看到APPID&#xff0c;接口加签方式选择系统默认密钥就行&#xff0…

基于Python的垃圾分类检测识别系统(Yolo4网络)【W8】

简介&#xff1a; 垃圾分类检测识别系统旨在利用深度学习和计算机视觉技术&#xff0c;实现对不同类别垃圾的自动识别和分类。应用环境包括Python编程语言、主流深度学习框架如TensorFlow或PyTorch&#xff0c;以及图像处理库OpenCV等&#xff0c;通过这些工具集成和优化模型&a…

第2天:项目结构与配置深入

第2天&#xff1a;项目结构与配置深入 目标 熟悉Django项目结构&#xff0c;配置基础设置。 任务概览 理解Django项目结构。配置settings.py。理解Django的URL配置。 详细步骤 理解Django项目结构 Django项目由一个或多个应用&#xff08;apps&#xff09;组成。每个应用…

js 实现图片纵向拼接并下载

js 使用canvas实现图片按照顺序拼接成纵向长图 /*** 图片拼接长图*/export default class ImageStitching {constructor(options) {this.imageUrls options.imageUrlsthis.images []this.imagesLoaded 0this.canvas nullthis.ctx nullthis.width options.width || 750th…

python判断一个数是不是偶数

在Python中&#xff0c;你可以使用模运算符 % 来判断一个数是否为偶数。模运算符会返回两个数相除的余数。如果一个数除以2的余数为0&#xff0c;那么这个数就是偶数。 以下是一个简单的Python函数&#xff0c;用于判断一个数是否为偶数&#xff1a; def is_even(n):return n…

成都爱尔林江院长建议近视防控从小做起,具体怎么做

预防近视应从小做起&#xff0c;知识储备多多益善。孩子如何做到近视防控&#xff1f; 成都爱尔眼科医院小儿眼科专家林江院长建议家长和孩子同时树立科学观念&#xff0c;让孩子拥有一个丰富多彩假期的同时强身健体也保护好眼睛。 不宅家、多户外 确保每天至少2个小时的户外…

【教程】SEO搜索优化怎么做?你必须知道的网站SEO诊断优化关键因素

在SEOer界流传着这样一句话,“内容为王,外链为皇,速度为后,内链为妃,代码为将,关键词为相,结构为城,更新为太子,工具为神兵”,我相信站长们对这条“黄金法则”一定都不陌生,其中“速度为后,工具为神兵”为土爹爹添加。毫不夸张地说,SEO(搜索引擎优化)就是大多数…

解锁5G新营销:视频短信的优势与全方位推广策略

随着5G时代的全面来临&#xff0c;企业的数字化转型步伐日益加快&#xff0c;视频短信作为新兴的数字营销工具&#xff0c;正逐步展现出其巨大的潜力。视频短信群发以其独特的形式和内容&#xff0c;将图片、文字、视频、声音融为一体&#xff0c;为用户带来全新的直观感受&…

线上盲盒小程序:前景展望

在移动互联网的浪潮下&#xff0c;线上盲盒小程序作为一种新兴的购物模式&#xff0c;具有广阔的发展前景和潜力。以下是对线上盲盒小程序未来前景的展望&#xff1a; 一、市场规模持续扩大 随着消费者需求的不断增长和市场竞争的加剧&#xff0c;线上盲盒小程序的市场规模将持…

【C#】scriptcs : 无法将“scriptcs”项识别为 cmdlet、函数、脚本文件或可运行程序的名

scriptcs : 无法将“scriptcs”项识别为 cmdlet、函数、脚本文件或可运行程序的名 最近在用vscode运行c#控制台程序是会出现上述的状况&#xff0c;几番周折之后找到了解决方法。 首先在电脑上安装scoop 然后运行powershell&#xff0c;分别输入 Set-ExecutionPolicy -Execu…

【TensorFlow深度学习】模型解释性工具与可解释AI技术简介

模型解释性工具与可解释AI技术简介 模型型解释性工具与可解释AI技术简介&#xff1a;洞悉“黑箱”的艺术1. LIME&#xff08;局部可解释模型-agnostic解释方法&#xff09;2. SHAP&#xff08;SHapley Additive Explanations&#xff09;3. Partial Dependence Plots (PDP)与IC…

无人机比赛有哪些?

无人机比赛项目可是多种多样&#xff0c;精彩纷呈呢&#xff01; 常见的比赛项目包括S形绕桩赛、平台起降赛、应用航拍、投掷物品和定点飞行等。这些项目不仅考验无人机的性能&#xff0c;更考验飞行员的操控技巧。 在S形绕桩赛中&#xff0c;飞行员需要操控无人机快速而准确…

Vue的测试策略:如何使用单元测试和端对端测试来确保Vue应用的质量

介绍 测试的重要性 在开发软件应用的过程中,测试具有重要的作用。它可以帮助开发者捕捉到程序中的错误和漏洞,保证软件的质量。功能性的测试可以帮助确认应用程序或系统满足了其功能需求。测试驱动的开发方式,如TDD(Test-Driven Development),也被广泛提倡并实践,因为…