vue3+vite+ts: vercel使用

vue3+vite+ts: vercel使用

什么是vercel

https://vercel.com/
Vercel是一个云原生应用程序开发和部署平台,旨在简化前端开发人员构建、部署和扩展现代网站和应用程序的过程。它最初是一个名为"ZEIT"的公司,后来改名为Vercel。

Vercel提供了许多功能和工具,使开发人员能够更快地将他们的项目推向生产环境。一些主要特点包括:

零配置部署:Vercel支持自动化部署,它能够检测您的项目类型并自动配置服务器设置,使得部署变得非常简单。

全球内容分发网络(CDN):Vercel的应用程序将部署到全球分布的服务器上,使用户可以从离他们最近的服务器加载内容,提高加载速度和性能。

Serverless功能:Vercel支持使用Serverless函数进行后端开发,这意味着您可以在没有维护服务器的情况下运行代码。

预渲染和静态生成:对于前端框架如React、Next.js、vue.js等,Vercel支持预渲染和静态生成,提供更好的SEO和性能。

自定义域名:您可以将自定义域名绑定到Vercel应用程序,从而使您的应用在您自己的域名下运行。

集成:Vercel可以与许多常见的版本控制系统(如GitHub、GitLab)、CMS(如WordPress、Contentful)和其他服务进行集成。

简单来说,vercel可以帮助前端开发人员快速部署,并提供相关服务

使用须知

需要科学上网
对50M以上的文件,免费版不支持

步骤

  1. 需要注册一个vercel账号

  2. 在需要部署的vue3+vite+ts项目中添加vercel,注意全局安装需要权限

    sudo npm install -g vercel
  1. 登录vercel
    vercel login
Vercel CLI 31.0.4
? Log in to Vercel 
● Continue with GitHub 
○ Continue with GitLab 
○ Continue with Bitbucket 
○ Continue with Email 
○ Continue with SAML Single Sign-On 
  ─────────────────────────────────
○ Cancel 

选择注册时采用的方式即可

  1. 部署命令
    在package.json中添加命令
    "deploy": "vercel --prod"

我的如下,注意将tsconfig.app.json替换成自己的tsconfig.json

 "scripts": {
    "dev": "vite",
    "build": "run-p type-check build-only",
    "preview": "vite preview",
    "build-only": "vite build",
    "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false",
    "deploy": "vercel --prod"
  },
  1. 路由配置
    在根目录下创建vercel.json
{
    "rewrites": [
        {
            "source": "/(.*)",
            "destination": "/"
        }
    ]
}

这个契合vue3单页模式,可以解决刷新404

  1. 一键部署
    npm run deploy

首次上传需要添加必要信息,结合终端打印的信息进行自定义配置即可,但vercel会自动识别vite+vue3+ts项目给出配置,所以我们不许额外配置

  1. 成功图样
    Vercel CLI 31.0.4
    🔍  Inspect: https://vercel.com/duringbug/dub-ui/8G2c4FrVn1hsRPoQjFwvTwd6QaJC [6s]
    ✅  Production: https://dub-ui.vercel.app [50s]

接下来就可以访问https://dub-ui.vercel.app来查看项目情况,再次强调需要科学上网

❗部署后可能会出现静态资源路径被当成route的问题,注意确保vue3正确引用了路径才能在网址上识别,比如笔者的:

const wallDiffTextures = texturesLoader.load('/textures/wall/japanese_stone_wall_diff_4k.jpg')

路径在public/textures/wall/japanese_stone_wall_diff_4k.jpg下
使用

const wallDiffTextures = texturesLoader.load('public/textures/wall/japanese_stone_wall_diff_4k.jpg')

虽然在本地测试时可以加载,但部署后就不行

最终成果

vercel
vercel

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

duringbug

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值