【Vue】vue在Windows平台IIS的部署

news/2024/10/17 20:25:01/

系列文章

【C#】IIS平台下,WebAPI发布及异常处理
本文链接:https://blog.csdn.net/youcheng_ge/article/details/126539836

【Vue】vue2与WebApi跨域CORS问题
本文链接:https://blog.csdn.net/youcheng_ge/article/details/133808959

文章目录

  • 系列文章
  • 前言
  • 一、技术介绍
  • 二、前期准备
    • 2.1 安装IIS
    • 2.2 方法一:Vue项目更改(配置代理)
    • 2.3 方法二:Vue项目更改(读配置文件)
      • 2.3.1 创建 config.js文件
      • 2.3.2 引入config文件
      • 2.3.3 使用config参数
    • 2.4 Vue项目打包
  • 三、发布部署
    • 3.1 创建服务目录
    • 3.2 添加网站
    • 3.3 配置URL重写
  • 四、异常问题解决
    • 4.1 外网访问时,浏览器可以进入Vue项目,但是发送请求 接口异常
    • 4.2 接口的IP地址未变更,始终是`http://localhost:19999`
    • 4.3 浏览器首次访问没有问题,然后点浏览器的刷新按钮,报404页面不存在
  • 五、效果展示


前言

本专栏为【前端】,主要介绍前端知识点。
在这里插入图片描述

一、技术介绍

本文介绍前端技术,vue项目在IIS下的发布部署.

二、前期准备

2.1 安装IIS

打开 控制面板–>启用或关闭Windows功能–>Internet information service相关的打钩,FTP服务器不需要,我们自己做文件传输>点击确定
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 方法一:Vue项目更改(配置代理)

vue.config.js文件打开,devServer下增加如下代码:

    proxy: {// 路由代理'/api': {target: "http://192.168.6.6:19999",changeOrigin: true // 如果接口跨域,需要进行这个参数配置},'/prod-api': {target: "http://192.168.6.6:19999",changeOrigin: true, // 如果接口跨域,需要进行这个参数配置pathRewrite:{ '^/prod-api':'' // 重写请求,接口是/api/doc变为/doc}},'/dev-api': {target: "http://192.168.6.6:19999",changeOrigin: true, // 如果接口跨域,需要进行这个参数配置pathRewrite:{ '^/dev-api':'' // 重写请求,接口是/api/doc变为/doc}}}

2.3 方法二:Vue项目更改(读配置文件)

方法一 和 方法二任选一种,我推荐方法二,简单好理解。

首先我们要明白,vue的打包机制,public里的文件是不会被打包的,它会原封不动的放在dist包里,所有我们可以利用这点,将配置参数信息写在里面。

2.3.1 创建 config.js文件

public 目录下,创建 config.js文件,URL地址写里头:

/** 控制打包时,参数的配置* 解决服务器部署,api不变的问题*  baseURL: "http://192.168.6.6:19999",*  baseURL: process.env.VUE_APP_BASE_API* */ 
exports.PLATFROM_CONFIG = {//API调用的服务地址baseURL: 'http://192.168.6.6:19999'// baseURL: 'http://localhost:19999'
}

在这里插入图片描述

2.3.2 引入config文件

request.js 请求使用配置文件中的参数。request.js 因项目不同,每个人放的位置也不一样直接快捷键 Ctrl+shift+F全局查找一下。
request.js就是对axious的二次封装,没有的话,你就直接改axious中的baseURL.

import PLATFROM_CONFIG from '../../public/config'

也可以使用@符,一样的,我习惯于写全路径,好处是你 按Ctrl键+鼠标,可以直接进入文件中,@符号打死没有这个效果。

2.3.3 使用config参数

采用.找到参数baseURL

const service = axios.create({baseURL: PLATFROM_CONFIG.PLATFROM_CONFIG.baseURL, // WebApi// baseURL: "http://192.168.6.6:19999",timeout: 30000 // 请求超时时间
})

在这里插入图片描述
proxy代理也能改,一样的原理,本文中所有访问后台的URL,都可以从配置文件读取。
在这里插入图片描述

2.4 Vue项目打包

在终端中输入:npm run build,进行打包,我们只要最终生成的 dist 里面的文件。
在这里插入图片描述

三、发布部署

3.1 创建服务目录

就是你要将生成的dist包,放在服务器哪个位置。
我放在D:\vue-project\目录下
在这里插入图片描述

3.2 添加网站

Internet information service(IIS)–>网站–>右键 添加网站
在这里插入图片描述

填写项目说明:
网站名称:随便填,英文
应用程序池:不知道就默认,我发现没啥影响,就是.net core WebApi 要使用专用的程序池,官网下载aspnetcore-runtime-6.0.22-win-x64.exe安装的。
物理路径:就是3.1节存放的路径。
绑定:默认就行,断口号记得改一下,不要冲突就行。需要注意IP一定要选全部未分配,这样可以通过服务器IP直接访问网站。
连接为按钮一定要手动设置一下,输入当前服务器的用户名 和 密码,这样在重启后网站会自动运行。
测试连接按钮点一下,正确配置效果如下图:

在这里插入图片描述

3.3 配置URL重写

在这里插入图片描述
如果没有URL重写这个选项,需要自行下载,安装以下两个包。
requestRouter_amd64.msi
rewrite_amd64_zh-CN.msi
添加规则
在这里插入图片描述
选择入站规则–>空白规则

名称:index
使用:正则表达式
模式:.*
条件:不是文件
重写URL:/index.html

在这里插入图片描述
这里的index.html就是你dist包里面的首页index.html。
在这里插入图片描述
也可以采用这种方式,配置代理转发,将入站的URL替换成你想要的任意格式。

四、异常问题解决

4.1 外网访问时,浏览器可以进入Vue项目,但是发送请求 接口异常

VUE_APP_BASE_API= ‘http://l127.0.0.1:19999’

解决方法:请看2.3节,我没有使用Nginx部署Vue,因为我是Windows环境那个东西不好用。

4.2 接口的IP地址未变更,始终是http://localhost:19999

你在另一台PC下,访问服务器,请求的localhost接口默认把你当前的PC IP作为域名,这样是不对的。当然访问不到 服务器上的Api接口。

解决方法:放配置文件里吧,别瞎折腾来,还有网上Nginx什么的教你怎么转换,麻烦,请看2.3节。

4.3 浏览器首次访问没有问题,然后点浏览器的刷新按钮,报404页面不存在

产生原因就说Vue项目,刷新后页面重定向,路由找不到根页面了,所有我们要配置入站规格,指定根页面index.html

解决方法:IIS配置 入站规则index,请看3.3节。

五、效果展示

内网环境。
在这里插入图片描述

在这里插入图片描述


http://www.ppmy.cn/news/1158590.html

相关文章

python find函数

一、 find函数作用: 用于判断字符串是否含有子串; 若包含子串,则返回所在字符串第一次出现的位置索引 若不包含子串,则返回-1 二、find函数语法: 字符串.find(self, sub, startNone, endNone) 源码: sub&a…

Debian衍生桌面项目SpiralLinux12.231001发布

导读SpiralLinux 是一个从 Debian 衍生出来的桌面项目,其重点是在所有主要桌面环境中实现简洁性和开箱即用的可用性。 spiral Linux 是为刚接触 Linux 世界的人们量身定制的发行版。这是 GeckoLinux 开发人员的创意,他更喜欢保持匿名。尽管他不愿透露姓…

机器学习——学习路线

一、Pytorch Pytorch安装Pytorch基础Pytorch项目实践 二、机器学习 1、监督学习 线性回归 均方差损失推导梯度下降法归一化正则化Lasso回归&岭回归多项式回归 线性分类 逻辑回归多标签分类交叉熵损失Softmax回归SVM支持向量机 决策树 剪枝与后剪枝随机森林Adaboost…

在 GeoServer 上发布 Shapefile 文件作为 WMS 数据

首先需要有 java 环境:https://zhuhukang.blog.csdn.net/article/details/132814744 1. 数据发布 点击数据存储,添加存储Shapefile 文件数据源添加 新建矢量数据源 点击保存,然后跳转下个页面进行发布 查找选择4326,然后从数据中进行计算 查看

通过商品链接查询淘宝商品详情数据,可以拿到商品标题,商品价格,商品库存,商品销量,商品sku数据等,淘宝API接口

通过商品链接查询淘宝商品详情数据可以参考以下步骤: 打开手机淘宝或者PC端,复制需要查询的商品链接。打开浏览器,输入商品链接,点击搜索。点击搜索结果中的商品链接,进入商品详情页面。点击鼠标右键,选择…

通过商品ID查询京东商品详情数据,可以拿到商品标题,商品价格,商品库存,商品销量,商品sku数据等,京东API接口

要通过商品ID查询京东商品详情数据,可以按照以下步骤进行: 在京东开放平台注册开发者账号,并创建应用。在创建应用时,选择商品API权限。在您的应用中,找到获取商品详情数据的接口。京东开放平台提供了多个API接口来获…

聚合支付的特点与应用建议

随着互联网技术的发展和繁荣,支付行业的发展如火如荼。目前已进入移动支付时代,支付手段和方式不断更新。2017年,建行、工行推出二维码支付,开展综合支付收单业务。 聚合支付具有灵活、方便、低成本、近市场的特点,符合…

java干掉 if-else

前言 传统做法-if-else分支 策略模式Map字典 责任链模式 策略模式注解 物流行业中,通常会涉及到EDI报文(XML格式文件)传输和回执接收,每发送一份EDI报文,后续都会收到与之关联的回执(标识该数据在第三方系统中的流转状态&#xff…