vue项目打包部署流程

本文详细介绍了Vue项目的打包过程,包括在vue.config.js中去除sourceMap,使用npm run build命令生成dist文件。接着讲解了如何在CentOS7服务器上部署项目,涉及xshell连接、创建文件夹、传输dist文件、安装与配置nginx,特别是nginx.conf的修改以实现项目访问和反向代理。最后,文中提到了在同一nginx配置中部署多个项目的方法。
摘要由CSDN通过智能技术生成

一、打包

  1. (可选)去除打包后会生成的map文件:在vue.config.js中添加productionSourceMap: false,
    在这里插入图片描述

    map文件作用:项目打包后,代码都是经过压缩加密的,如果运行时报错,输出的错误信息无法准确得知是哪里的代码报错。map文件可以准确输出报错位置。

  2. 项目终端运行npm run build,出现的dist文件即为打包后的文件在这里插入图片描述

二、部署

  1. xshell连接服务器(此处服务器为centos7)

  2. 利用xfp在服务器/root目录下新建文件夹,将刚才打包生成的dist文件放到该文件夹下在这里插入图片描述

  3. 进入/etc目录,目录中有一个nginx目录,进入该目录。如果没有nginx目录说明没有安装nginx,需要安装nginx:在/etc目录下运行yum install nginx在这里插入图片描述

  4. 修改nginx配置,运行vim nginx.conf进行编辑在这里插入图片描述

  5. 按 i 开始编辑,添加
    在这里插入图片描述

    locatioin / {}配置使访问服务器即可访问到项目,为root部署到服务器的路径
    location /api {}配置nginx反向代理,使得服务器可以获取从其他服务器获取的数据,/api为项目配置时代理跨域的路径名,proxy_pass为对应服务器地址

    注意1:添加配置时要注意空格、分号及单词拼写,由于windows和Linux空格不同,此处最好自己手写,不要复制

    注意2:还要将开头的user nginx改成user root,不改访问网址会报500错误

    注意3:修改完后restart nginx,start无效在这里插入图片描述

    在这里插入图片描述

  6. 按esc退出编辑

  7. 输入:wq进行保存

  8. 重新运行nginx:systemctl restart nginx在这里插入图片描述

  9. 访问服务器地址,即可访问到项目

注:4-8步可通过xftp直接在nginx.conf文件中进行编辑,但也要注意空格

补充:
systemctl status nginx:查看nginx状态

systemctl start nginx:启动nginx

systemctl stop nginx:停止nginx

systemctl restart nginx:重启nginx

三、部署多个项目

在nginx.conf中修改配置,访问时用服务器地址/sph即可访问

在这里插入图片描述

Vue.js项目部署时使用`history`模式主要是为了实现单页应用(SPA)的无刷新导航。`history`模式允许前端直接操作URL,而不涉及服务器端路由。在Vue项目中配置`history`部署通常需要以下几个步骤: 1. **设置HTML5 History API**: - 在你的`index.html`或主入口文件中添加 `<base>` 标签,指定应用程序的根路径,例如: ```html <base href="/" /> ``` 2. **配置Webpack**: - 使用Vue CLI的话,可以在`.vue-cli-service.config.js`中配置`routerMode`属性为`history`。如果手动配置,需要安装`vue-router`并配置`mode: 'history'`。 ```javascript module.exports = { // ...其他配置 configureWebpack: config => { if (process.env.NODE_ENV === 'production') { config.plugins.push(new HtmlWebpackPlugin({ hash: true, filename: '../dist/index.html', template: 'public/index.html', // 指定模板文件 minify: { removeComments: true, collapseWhitespace: true }, })) } config.devServer = { historyApiFallback: true, // 开启history fallback }; } }; ``` 3. **服务器配置**: - 在生产环境中,需要服务器支持`history`模式,通常意味着需要配置对所有非`'/index.html'`请求转发到`'/index.html'`。这依赖于你的服务器环境(如Express、Nginx等),你需要查阅相应的文档。 4. **处理浏览器兼容性和SEO**: - 对于旧版浏览器,可以使用`hashbang`(`#!`)代替`history`。现代浏览器一般能自动处理。 - 使用`prerender-spa-plugin`或类似工具预渲染静态页面,提升SEO。 **相关问题--:** 1. 如何解决Vue历史模式下刷新页面白屏的问题? 2. 为什么要在生产环境中开启historyApiFallback? 3. 怎么样让搜索引擎识别Vue的单页应用?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值