当前位置: 首页 > news >正文

AI问答-vue3+ts+vite:http://www.abc.com:3022/m-abc-pc/#/snow 这样的项目 在服务器怎么部署

为什么记录有子路径项目的部署,因为,通过子路径可以区分项目,那么也就可以实现微前端架构,并且具有独特优势,每个项目都是绝对隔离的。

要将 Vue3 项目(如路径为 http://www.abc.com:3022/m-saas-pc/#/snow)部署到服务器,需确保静态资源正确托管并配置路由回退,以下是详细步骤和注意事项:

一、 构建生产环境静态文件

1.1、执行构建命令

在项目根目录运行以下命令,生成 dist 文件夹(包含优化后的 HTML、CSS、JS):

npm run build

1.2、关键配置

vue.config.js(若使用 Vue CLI):

确保 publicPath 配置正确。若项目部署在子路径(如 /m-abc-pc),需设置:

export default defineConfig({base: '/m-abc-pc/', // 部署的子路径 / 指定静态资源的基础路径
}}

1.3、路由模式

若使用 history 模式(无 #),需额外配置服务器;若使用 hash 模式(有 #),则无需修改路由配置。

二、部署静态文件到服务器

2.1、选择服务器

Nginx(推荐):高性能、易配置。

Apache:需配置 .htaccess。

云服务:如阿里云 OSS、腾讯云 COS(需额外配置 CDN 和回源规则)。

2.2、上传文件

将 dist 文件夹内容上传到服务器指定目录(如 /var/www/m-abc-pc)。

三、配置服务器(以 Nginx 为例)

3.1、安装 Nginx

sudo apt update && sudo apt install nginx -y

3.2、配置虚拟主机

编辑 Nginx 配置文件(如 /etc/nginx/sites-available/m-abc-pc):

server {listen 80;server_name your_domain.com; # 替换为你的域名或服务器 IProot /var/www/m-abc-pc; # 指向 dist 文件夹index index.html;location / {try_files $uri $uri/ /index.html; # 关键:处理前端路由}
}

3.3、启用配置并重启 Nginx

sudo ln -s /etc/nginx/sites-available/m-abc-pc /etc/nginx/sites-enabled
sudo nginx -t # 测试配置
sudo systemctl restart nginx

4. 验证部署

4.1、访问项目

通过浏览器访问 http://your_domain.com/m-abc-pc/#/snow,确认页面正常加载且路由跳转无问题。

4.2、常见问题排查

404 错误:检查 try_files 配置是否正确。

资源路径错误:确认 publicPath 与部署路径一致。

跨域问题:若后端 API 跨域,需在服务器或后端配置 CORS。


5. 高级配置(可选)

5.1、HTTPS 配置

HTTPS 配置:
使用 Let's Encrypt 免费证书:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d your_domain.com

5.2、CDN 加速

将静态资源托管到 CDN(如 Cloudflare),减少服务器压力。

5.3、自动化部署

使用 CI/CD 工具(如 GitHub Actions)自动化构建和部署流程。

六、总结

构建静态文件:确保 publicPath 和路由模式正确。

上传文件:将 dist 文件夹上传到服务器。

配置服务器:使用 Nginx 或其他服务器配置静态资源托管和路由回退。

验证和优化:检查访问是否正常,并配置 HTTPS 和 CDN(可选)。

通过以上步骤,你的 Vue3 项目即可在服务器上正常运行,并支持 hash 模式的路由跳转。

七、欢迎交流指正

http://www.xdnf.cn/news/889543.html

相关文章:

  • 亲测解决self.transform is not exist
  • vscode里如何用git
  • TIA博途中的程序导出为PDF格式的具体方法示例
  • [zynq] Zynq Linux 环境下 AXI BRAM 控制器驱动方法详解(代码示例)
  • MYSQL(三)--服务器启动参数与配置
  • 群晖NAS如何在虚拟机创建飞牛NAS
  • ABP VNext 在 Kubernetes 中的零停机蓝绿发布
  • Abaqus载荷与边界条件(Load BC)
  • 将 Jupyter Notebook 的默认存储路径从 C 盘迁移到 D 盘,可以通过以下步骤实现:
  • 【教学类】20250605立体纸盘(3边形-22边形,角度5、10……40,45)
  • TikTok养号指南:从0到1打造防限流账号的实战策略
  • 【西门子杯工业嵌入式-1-基本环境与空白模板】
  • 瞄准企业级智能体,艺赛旗加速业务出海重塑数智生产力
  • 【LeetCode】1061. 按字典序排列最小的等效字符串(并查集)
  • 如何给windos11 扩大C盘容量
  • CICD实战(二)-----gitlab的安装与配置
  • 热门消息中间件汇总
  • 【计算机网络】五种IO模型——非阻塞IO
  • 使用SSH tunnel访问内网的MySQL
  • 工厂模式 + 模板方法模式 + 策略模式的适用场景
  • 消息的幂等性
  • 【笔记】MSYS2 的 MINGW64 环境 全面工具链
  • 3DEXPERIENCE参考属性和实例属性的获取
  • VUE混合开发用哪个PHP框架好?
  • 三级等保框架下质检 LIMS 系统违规操作溯源技术应用实践
  • 极昆仑智慧与数元灵科技达成战略合作
  • redis配置及优化
  • YOLOv8 × VisDrone 全流程实战:训练你的无人机识别模型 AI(第一部分:数据集准备)
  • 25.6.5学习总结
  • Git操作记录