Vue项目部署到服务器上的一系列问题(Nginx)?

本文介绍了如何通过路由懒加载来提升Vue项目的加载速度,避免首页加载时间过长。同时,通过CDN引入关键库文件以减小项目体积。针对npm run build后生成的.map文件问题,可在vue.config.js中设置productionSourceMap为false。对于Nginx服务器,配置文件中添加重定向规则,解决刷新404错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、路由懒加载

如果没有应用懒加载,运用webpack打包后的文件将会异常的大,造成进入首页时,需要加载的内容过多,时间过长,会出啊先长时间的白屏,即使做了loading也是不利于用户体验,而运用懒加载则可以将页面进行划分,需要的时候加载页面,可以有效的分担首页所承担的加载压力,减少首页加载用时

路由懒加载方式

在这里插入图片描述
参考:https://blog.youkuaiyun.com/xm1037782843/article/details/88225104

CDN引入

在/public/index.html中引入需要的组件(vue需要在elementui前引入)

	<script src="https://cdn.bootcss.com/vue/2.5.3/vue.js"></script>
    <script src="https://cdn.bootcss.com/vue-router/2.7.0/vue-router.min.js"></script>
    <script src="https://cdn.bootcss.com/axios/0.17.1/axios.min.js"></script>
    <link rel="stylesheet" href="https://cdn.bootcss.com/element-ui/2.4.0/theme-chalk/index.css">
    <script src="https://cdn.bootcss.com/element-ui/2.4.0/index.js"></script>

引入后需要注释
router/index.js and main.js and element.js and axios.js等中使用过的import vue and so on…
有一些博主说需要修改webpack.base.conf.js(大概叫这个名字),但是我用了vue-cli3,所以不需要修改那个配置文件

如果npm run build 后产生了一些.map文件

如果产生了一些.map文件,也会导致打包的文件过大,修改vue.config.js
加入一句代码,打包时就不会产生.map文件

productionSourceMap: false,

发布到服务器上后刷新404问题

之前用过apache服务器,需要在网站根目录建立一个.htaccess文件,建立一个网页的重定向
.htaccess文件内容

<IfModule mod_rewrite.c>
RewriteEngine On
   RewriteBase /

   RewriteRule ^index\.html$ - [L]

   RewriteCond %{REQUEST_FILENAME} !-f

   RewriteCond %{REQUEST_FILENAME} !-d

   RewriteRule . /htcm_front/index.html [L]

   </IfModule>

   注:/htcm_front/ index.html是你打包目录的名字

参考 https://segmentfault.com/a/1190000012548105.
但是用了Nginx都说好,毕竟轻量级,学生服务器太拉跨
Nginx需要修改配置文件nginx.conf

server
{
    listen 80;
    server_name 域名或者ip地址 like "test.com" or 12.345.32.123;
    index index.php index.html index.htm default.php default.htm default.html;
    root /www/html/dist;//网站根目录
     location / {
    root  /www/html/dist; //网站更目录
    index  index.html;
    try_files $uri $uri/ /index.html; //网页重定向,解决刷新后404问题
  }
### 在 Windows 上使用 Nginx 部署 Vue 应用 #### 准备工作 确保已经安装 Node.jsNginx。Node.js 用于构建 Vue 项目,而 Nginx 是用来服务静态文件的 Web 服务器。 #### 构建 Vue 项目 在命令提示符或 PowerShell 中进入 Vue 项目的根目录,执行 `npm run build` 命令来生成生产环境下的静态资源[^3]: ```bash npm run build ``` 这会在项目中创建一个名为 `dist/` 的文件夹,里面包含了编译后的 HTML、CSS 及 JavaScript 文件。 #### 安装与配置 Nginx 确认 Nginx 已经被正确安装到系统中,并能够正常启动。可以通过查询进程列表验证 Nginx 是否正在运行[^4]: ```powershell tasklist /fi "imagename eq nginx.exe" ``` 如果未找到该进程,则需先启动 Nginx 或者按照官方文档完成其安装流程。 #### 修改 Nginx 配置文件 打开 Nginx 的配置文件(通常位于安装路径下的 conf/nginx.conf),编辑如下所示的部分以适应本地开发需求: ```nginx server { listen 80; server_name localhost; location / { root D:/path/to/vue-app/dist; # 替换成实际 dist 文件夹的位置 try_files $uri $uri/ /index.html; } error_page 500 502 503 504 /50x.html; } ``` 上述设置指定了当请求到达 `/` 路径时,Nginx 将会尝试查找对应的物理文件;如果没有匹配项则返回 index.html 页面,从而支持单页应用程序 (SPA) 的历史模式路由功能。 #### 测试并重启 Nginx 保存更改过的配置文件后,在命令行工具里输入以下指令检验配置是否有误以及重新加载最新的设定值而不必完全停止再开启整个服务: ```bash nginx -s reload ``` 此时应该可以在浏览器内通过访问 http://localhost 来预览所部署的应用程序了。若一切顺利的话,页面应能正确显示出来[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Roben_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值