首页 > 其他分享 >Vue3+Vite部署到Netlify

Vue3+Vite部署到Netlify

时间:2023-05-22 16:55:06浏览次数:34  
标签:redirects 重定向 Netlify 部署 api Vite Vue3 netlify

前言

本项目的前端是使用Vue3技术。因为用到了Vite做代理解决跨域问题,所以部署到Netlify需要多做一些步骤。

使用Vite代理后,如果前端是在本地部署,需要添加VITE_PROXY环境变量。

例如在 .env.development 文件中添加 VITE_PROXY=[["/api/v1","https://xx.naihe.me/api/v1"],["/ws","wss://xxx.naihe.me/ws"]]

netlify使用教程

使用Netlify部署的话,需要在前端项目的根目录创建一个 netlify.toml 配置文件。

下面简要说明一下Netlify配置文件的用法:

  • from: 你想重定向的大小写路径。特殊字符必须是URL编码的。
  • to: 你想重定向到的URL或路径。特殊字符必须是url-encoded。
  • status: 你想在重定向中使用的HTTP状态代码;默认为301。
  • force(强制): 是否覆盖路径中的任何现有内容;默认为假。请访问阴影说明以了解更多细节。
  • query: 查询字符串参数,必须与重定向相匹配。请访问查询参数说明了解更多细节。
  • conditions(条件): 匹配重定向的条件,包括国家、角色和cookie存在条件。
  • headers: 在代理重定向中发送的额外请求头。
  • signed(签名): 签名代理重定向的环境变量的名称。

了解语法糖后,可以看看 netlify.toml 的使用示例:

[[redirects]]
  from = "/old-path"
  to = "/new-path"
  status = 301
  force = false
  query = {path = ":path"}
  conditions = {Language = ["en"], Country = ["US"], Role = ["admin"]}

## 此规则将重定向到外部API,使用秘密对请求进行签名
[[redirects]]
  from = "/search"
  to = "https://api.mysearch.com"
  status = 200
  force = true # COMMENT: ensure that we always redirect
  headers = {X-From = "Netlify"}
  signed = "API_SIGNATURE_TOKEN"

部署过程及踩坑

在本项目中,配置的netlify.toml 如下:

[[redirects]]
  from = "/api/*"
  to = "https://xxx.naihe.me/api/:splat"
  status = 200
  force = true

使用起来很简单也易上手。在使用过程中,我发现在netlify.tomlredirects 不能使用环境变量。还有不能重写websocket协议,也就是说只能重写http和https协议。

部署方式有三种:在线存储库 GitHub、Gitlab等、网站模板和手动上传方式。

本次部署采用手动上传方式,部署过于简单,下面采用文字简要描述。

部署步骤 Team overview -> Add new site -> Deploy manually -> Drag and drop your site output folder here Or, browse to upload

上传选择 Vue Build 生成的 dist 文件夹,上传完毕后会跳转到部署好的网站控制面板

image-20230522163810525

标签:redirects,重定向,Netlify,部署,api,Vite,Vue3,netlify
From: https://www.cnblogs.com/1314h/p/17421064.html

相关文章

  • vue3 +leaflet + 天地图
    vue3使用leafletnpminstallleaflet-D如果使用了tsnpmi--save-dev@types/leaflet//使用了ts需要下载声明类型//更具需要获取不通过类型的urlfunctiongetUrl(type:string){interfaceMyObject{[key:string]:Array<string>;}letobj:MyObject=......
  • vite打包中性能优化方面
    1、静态文件按类型分包build中添加如下代码:build:{rollupOptions:{output:{chunkFileNames:'static/js/[name]-[hash].js',entryFileNames:'static/js/[name]-[hash].js',assetFileNames:'static/[ext]/[name]-[hash].......
  • Create Vite App 支持 OpenTiny 啦
    大家好,我是Kagol,个人公众号:前端开源星球。一个月前,日日自新写了一篇介绍CreateViteApp开源项目的文章:基于vite4.x快速搭建开箱即用,高度可定制化模版脚手架CreateViteApp是基于esbuild+commander+ejs模板渲染进行开发脚手架,用于创建vite4.xtypescript5.xvite......
  • vue3+vant3封装省市区组件
    因为后台返回的数据格式和vant不一致,所以自己遍历循环得到自己想到的格式。省市区的接口并不是一个以children格式,一次性全部获取,而是选择市的时候需要得到省的id,一层一层请求接口才能得到省市区。 父组件:1<selectArea2@addressOnFinish="onChangeArea"3......
  • Vue3迎来升级,全面助力企业数字化转型
    近年来,随着“互联网+”的推进与应用普及,数字化转型已经成为企业发展的必备选项。低代码开发平台的迅速普及和广泛应用,也为企业数字化的转型提供了支撑技术。JNPF快速开发平台深度集成java+.net 6 双技术引擎,具备易维护、便部署、高集成、高效率等多方面特性,面向企业项目提供开......
  • error Resolve error: @vitejs/plugin-vue requires vue (>=3.2.13) or @vue/compile
    创建Vue3项目时出错error Resolveerror:@vitejs/plugin-vuerequiresvue(>=3.2.13)or@vue/compiler-sfctobepresentinthedependencytree将vue 升级到 [email protected]  版本 执行[email protected] ......
  • Que le temps passe vite !
    Jeudi,18maiLetempspassesiviteetl'idéedemettreàjourceblogn'estqu'unrêve.Voilàquelquesnouvelles.*Enfinnousavonspunousrassemblercesdeuxderniersdimanchesdansunesalledeconférenced'unhôtel.C'estm......
  • Vue3中watch监听写法
    侦听ref和reactiveconststate=reactive({ count:0})//侦听reactive中属性,需要包裹在箭头函数中watch(()=>state.count,(newVal,oldVal)=>{ })//watch直接接受ref作为监听对象,并且在回调函数返回解包后的值constcount=ref(0);watch(count,(newVal,o......
  • 记录--vue3优雅的使用element-plus的dialog
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助如何优雅的基于element-plus,封装一个梦中情dialog优点摆脱繁琐的visible的命名,以及反复的重复dom。想法将dialog封装成一个函数就能唤起的组件。如下:addDialog({title:"测试",//弹窗名compone......
  • 企业级项目模板的配置与集成(Vite + Vue3 + TypeScript)
    企业级项目模板的配置与集成(Vite+Vue3+TypeScript)1、项目介绍项目使用:eslint+stylelint+prettier来对我们代码质量做检测和修复。需要使用husky来做commit拦截需要使用commitlint来统一提交规范需要使用preinstall来统一包管理工具。2、环境准备nodev16.14.2pnp......