当前位置: 首页 > 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 模式的路由跳转。

七、欢迎交流指正

相关文章:

  • vue+element-ui一个页面有多个子组件组成。子组件里面有各种表单,实现点击enter实现跳转到下一个表单元素的功能。
  • Excel-vlookup -多条件匹配,返回指定列处的值
  • sanitizer工具
  • 三表查询SQL怎么写?----小白初学+案例引入
  • Compose Multiplatform 实现自定义的系统托盘,解决托盘乱码问题
  • [Java 基础]数组
  • 世事无常,比较复杂,人可以简单一点
  • 钢轨滚动疲劳试验机
  • Spring框架知识体系全面总结
  • 图简记。。
  • 设计模式域——软件设计模式全集
  • 【Web应用】若依框架:基础篇21二次开发-页面调整
  • ceph pool 修改故障域
  • 【java面试】框架篇
  • 前端面试四之Fetch API同步和异步
  • MCP通信方式之Streamable HTTP
  • Prompt Tuning:生成的模型文件有什么构成
  • RC1110 could not open xxx_resource.rc
  • centos升级内核
  • 面试题:Java多线程并发
  • 网页设计师需要学什么专业/太原seo培训
  • 跨境电子商务网页制作与网站建设/站长网站查询
  • 特克斯与凯科斯群岛域名官方网站/近期舆情热点事件
  • wordpress可视化函数/深圳seo博客
  • 80后陈某做盗版视频网站/搜索推广开户
  • 哪个网站做首饰批发好/seo综合查询 站长工具