Vue项目打包以及部署

article/2025/10/14 3:15:02

一. 打包
npm run build 打包项目后,出现dist文件夹,dist文件夹下的东西就是需要部署的项目。
但是遇到问题:index.html页面出现一片空白,右键检查network发现一堆错误。

解决:没有修改config配置文件,如果直接打包,系统默认的是’/’(根目录),而不是’./’(当前目录),从而导致路径不对,页面加载不出来。
需要自己在项目的根目录下手动建一个配置文件并添上以下代码:然后在重新打包一次就可以了。
在这里插入图片描述
module.exports = {
publicPath: ‘./’
}

当然我是这么弄得看得高大尚一点:

module.exports = {// 基本路径 baseURL已经过时publicPath: './', // 输出文件目录outputDir: 'dist',// eslint-loader 是否在保存的时候检查lintOnSave: true,// use the full build with in-browser compiler?// https://vuejs.org/v2/guide/installation.html#Runtime-Compiler-vs-Runtime-only// compiler: false,// webpack配置// see https://github.com/vuejs/vue-cli/blob/dev/docs/webpack.mdchainWebpack: () => {},configureWebpack: () => {},// vue-loader 配置项// https://vue-loader.vuejs.org/en/options.html// vueLoader: {},// 生产环境是否生成 sourceMap 文件productionSourceMap: true,// css相关配置css: {// 是否使用css分离插件 ExtractTextPluginextract: true,// 开启 CSS source maps?sourceMap: false,// css预设器配置项loaderOptions: {},// 启用 CSS modules for all css / pre-processor files.modules: false},// use thread-loader for babel & TS in production build// enabled by default if the machine has more than 1 coresparallel: require('os').cpus().length > 1,// 是否启用dll// See https://github.com/vuejs/vue-cli/blob/dev/docs/cli-service.md#dll-mode// dll: false,// PWA 插件相关配置// see https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-pwapwa: {},// webpack-dev-server 相关配置// devServer: {//  open: process.platform === 'darwin',//  disableHostCheck: true,//  host: 'www.test.com',//如果是真机测试,就使用这个IP//  port: 1234,//  https: false,//  hotOnly: false,//  before: app => {}// },// 第三方插件配置pluginOptions: {// ...}}

问题二:文件找不到
vue-router总共有三种模式。

对于我解决办法:将router中的index.js 中的mode: "history"注释掉,然后再重新打包即可。

其实到这一步就完成了,可气的是:我打开index.html发现主页有一些图文没有加载出来,查看发现:
在这里插入图片描述
PS:对于Vue项目build后有一件事折腾了我好久。
我疯狂百度这个问题:“打包之后http请求怎么都变成了file请求? ”,弄懂之后发现自己悟性好菜(领悟了大概得1个小时),感觉原地社死…
在这里插入图片描述
在这里插入图片描述
解读:打包后本地就是file请求,这样没错,只有部署到服务器上,那些请求的图文才会正常显示,所以要相信自己!
不过,还有不少人也遇到这种不是问题的问题,截图:在这里插入图片描述
注:已经回答:本地打包后需要部署到服务器才正常的,因为现在打包是在文件夹下(File),所以file请求没有问题!!
可以参考下面本地window10下进行nginx部署进行检测。
二、服务器部署
下载(可以下载win版本适应一下):
http://nginx.org/en/download.html
在这里插入图片描述

解压
双击nginx.exe启动
打开cmd命令窗口,切换到nginx解压目录下,输入命令 nginx.exe 或者 start nginx

用法:

  1. 命令环境(配置)
  2. nginx -s stop 停止 不保存信息
  3. nginx -s quit 停止 保存信息
  4. nginx -s reload 重启
  5. nginx -v 查看版本
    查看是否成功,默认80端口
    start nginx 启动
    在这里插入图片描述
    3、 Vue项目build后, 将dist文件下的代码+文件复制到http里面,然后再打开发现项目运行正常!如果Http跨域错误请看第四步,正常请略过。

4、 配置nginx(目前nginx还只是静态服务器而已,有些是需要跨域的)
\conf下nginx.conf中
server {
listen 80;
server_name localhost;

    location / {root   html;index  index.html index.htm;}#正向代理location /api{proxy_pass http://239.3454(写你的后端请求)}

}
其中location下的 html;如果是将dist文件复制进去,那么location下的 html改为 html/dist

正式开始将项目推送到自己服务器上:
查看服务器是属于centos还是Ubuntu

  1. yum install -y redhat-lsb(有的话就不需要安装)
  2. lsb_release -a (查看)
    在这里插入图片描述

【CentOS操作系统的部署】
1、安装yum类似npm,下载模块以及模块的依赖(安装nginx之前的依赖)
yum -y install pcre*
yum -y install openssl*
2、下载wget类似于迅雷下载文件
yum install wget
3、下载nginx
下载到对应目录(一般是在usr下的local下)
wget http://nginx.org/download/nginx-1.17.9.tar.gz
在这里插入图片描述

4、解压
tar -zxvf nginx-17.9
5、编译安装
./ configure
在这里插入图片描述
表示成功!

最后输入: make -j4 && make install
会产生一个nginx文件所有的操作都在这个里面
6、进入nginx文件里面sbin
测试是否安装成功 ./nginx -t
在这里插入图片描述
./nginx启动
报错
在这里插入图片描述
解决:
lsof -i :80查看被什么程序占用,
使用killall -9 nginx 杀掉进程。

7、部署项目

使用MobaXterm上传打包好的Vue项目到sbin文件下
在这里插入图片描述
使用 (unzip 名字)解压
PS:zip -q -r 压缩包名.zip进行压缩 到html文件夹下
在这里插入图片描述
在这里插入图片描述
最后cd进入nginx文件下的sbin输入./nginx -s reload
在这里插入图片描述
大功告成!!!


http://chatgpt.dhexx.cn/article/8ubGvsfH.shtml

相关文章

vue项目打包布署

我们使用Vue做项目时,基本都是前后端分离的,所以项目布署有时是前后单独部署。因此前端开发人员很有必要熟悉一下项目部署的流程。 Vue项目打包部署本身不复杂,不过一些前端同学可能对服务器接触不多,部署过程中还是会遇到这样那…

N皇后问题及答案解

题目 在一张N∗N的国际象棋棋盘上,放置N个皇后,使得所有皇后都无法互相直接攻击得到,(皇后可以直接攻击到她所在的横行,竖列,斜方向上的棋子),现在输入一个整数N,表示在N…

N皇后问题递归求解(内附详细代码)

N皇后问题递归求解(内附详细代码) 内容描述 在n*n的方格棋盘上,放置n个皇后,要求每个皇后不同行、不同列、不同对角线。 解题思路 下面我们以4皇后问题举例: 设queen(i,n)是在1~i-1行上已经放…

八皇后 N皇后

参考打蓝桥杯的通信人 如侵删 所有代码与原博主的代码相似 自作主张的觉着数组设置的太多辽想着改一下代码 写了一个set函数起初简单的认为 把每一个数组元素设置为0 1即可 跑起来后发现有错误 后来修改发现可以设置数组元素 x 只要在同行列或者对角线就会1 符合多个条件就会再…

n皇后学习

洛谷P1219 回溯 #include<cstdio> const int N 13; int n, cnt, ans[N]; void dfs(int row) {if (row n) {if (cnt < 3) {for (int i 0; i < n; i) {if (i > 0)printf(" ");printf("%d", ans[i] 1);}printf("\n");}cnt;ret…

N皇后(回溯算法)

题目 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击。等价于要求任何两个皇后都不能在同一行、同一列以及同一条斜线上 给你一个整数 n &#xff0c;返回所有不同的 n 皇后问题 的解决方案。 如图&#xff1a;黄色代表放…

求解n皇后

要求&#xff1a;在国际象棋上摆放n个皇后&#xff0c;使其不能互相攻击&#xff0c;即任意两个皇后都不能处于同一行、同一列或同一斜线上&#xff0c;问有多少种摆法 思路&#xff1a;很直观的想法就是在棋盘上一个一个皇后的摆&#xff0c;如果冲突&#xff0c;则摆放在另一…

n皇后 - 位运算版

n皇后问题是大家在递归里会碰到的一个经典问题。以前高中我学DFS的时候&#xff0c;老师首先让我看的就是八皇后。 不过这皇后的时间复杂度大家可想而知了。而接下来的位运算将这个效率重新提到一个高度。 我是以前在Matrix67大牛那里学的&#xff0c;最近数据结构实验刚好碰到…

n皇后最快算法详解

n皇后问题再经典不过了&#xff0c;想必大家也听说过。 再简单说一下吧&#xff0c;就是一个n*n的棋盘&#xff0c;放置n个皇后&#xff0c;使得竖着不攻击&#xff0c;横着不攻击&#xff0c;斜着不攻击。求有多少种方法。 &#xff08;国际象棋不是这么玩的呀 &#xff09; …

51. N 皇后

51. N 皇后 按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击。 给你一个整数 n &#xff0c;返回所有不同的 n 皇后问题 的解决方…

51. N皇后

51. N皇后 https://leetcode-cn.com/problems/n-queens/ 四皇后的解 n个皇后&#xff0c; nn 的棋盘上 根据要求 每行有且仅有一个皇后&#xff08;如果有一行没有那么必有一行至少两个皇后&#xff0c;不符合&#xff09; 递归回溯&#xff0c;每次尝试在一行中摆放皇后&…

递归算法——n皇后

** 递归算法——n皇后 ** n皇后问题&#xff1a; 输入整数n&#xff0c;要求n个国际象棋的皇后&#xff0c;摆在n*n的棋盘上&#xff0c;互相不能攻击&#xff0c;输出全部方案。 输入&#xff1a; 输入一个正整数N。 输出&#xff1a; 程序输出N皇后问题的全部摆法。 行里…

kettle连接mysql教程_KETTLE初学者使用教程

Kettle的建立数据库连接、使用kettle进行简单的全量对比插入更新:kettle会自动对比用户设置的对比字段,若目标表不存在该字段,则新插入该条记录。若存在,则更新。 Kettle简介:Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳…

Kettle Spoon 安装配置详解

文章目录 1 概述2 安装2.1 软件下载2.2 JDK 环境变量配置2.3 数据库驱动包下载2.4 双击 Spoon.bat 启动 3 简单使用3.1 transformation 转换3.1.1 文件 - 新建 - 转换3.1.2 核心对象 - 输入 - 表输入3.1.3 核对对象 - 输出 - 插入/更新3.1.4 保存 - xxx.ktr 3.2 job 作业3.2.1 …

Spoon安装步骤

主数据库连接步骤 主对象树点击转换&#xff0c;双击DB连接 配置信息完成后点击测试成功 二&#xff0e;源数据库连接步骤 1.点击Connect,点击other repositories 2.点击Database Repository 编辑名称&#xff08;注意必须用英文&#xff09; 再点击数据库连接 配置选项 …

kettle下载安装使用教程

Kettle简介 Kettle是一款国外开源的ETL工具&#xff0c;纯java编写&#xff0c;可以在Window、Linux、Unix上运行&#xff0c; 数据抽取高效稳定。Kettle 中文名称叫水壶&#xff0c;该项目的主程序员MATT 希望把各种数据放到一个壶里&#xff0c;然后以一种指定的格式流出。K…

KETTLE使用教程

Kettle的建立数据库连接、使用kettle进行简单的全量对比插入更新&#xff1a;kettle会自动对比用户设置的对比字段&#xff0c;若目标表不存在该字段&#xff0c;则新插入该条记录。若存在&#xff0c;则更新。 Kettle简介&#xff1a;Kettle是一款国外开源的ETL工具&#xff0…

spoon mysql教程_kettle 教程(一):简介及入门

介绍 kettle 是纯 java 开发&#xff0c;开源的 ETL工具&#xff0c;用于数据库间的数据迁移 。可以在 Linux、windows、unix 中运行。有图形界面&#xff0c;也有命令脚本还可以二次开发。 安装 这边以 windows 下的配置为例&#xff0c;linux 下配置类似。 jdk 安装及配置环境…

kettle基础使用教程

文章目录 前言一、下载、安装二、启动软件三、转换的使用教程四、作业的使用教程总结 前言 Kettle简介&#xff1a;Kettle是一款国外开源的ETL工具&#xff0c;纯java编写&#xff0c;可以在Window、Linux、Unix上运行&#xff0c;数据抽取高效稳定。Kettle 中文名称叫水壶&…

ETL工具-Kettle Spoon教程

转自&#xff1a;https://blog.csdn.net/liaomin416100569/article/details/82798879 一 。Kettle Spoon简介 ETL&#xff08;Extract-Transform-Load的缩写&#xff0c;即数据抽取、转换、装载的过程&#xff09;&#xff0c;对于企业或行业应用来说&#xff0c;我们经常会遇…