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

news2024/11/24 7:40:54

系列文章

【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.coloradmin.cn/o/1100641.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

新闻发稿多少钱一篇?轻松发布新闻一站式发稿服务平台

随着互联网的发展,新闻发布成为企业和个人宣传推广的重要手段之一。而在选择新闻发稿平台时,费用是一个关键因素。对于很多人而言,关心的问题是:新闻发稿多少钱一篇?是否有平价的选择?在这个方面&#xff0…

前端开发中的try...catch

首先try...catch 结构可以用来处理 Promise 中的异常。在 JavaScript 中,Promise 提供了一种处理异步操作的机制,并且可以通过 .catch() 方法捕获并处理异步操作中抛出的异常。 async function someAsyncFunction() {try {const result await someProm…

LPWAN产业何时才能真正爆发?

导读: 虽然LPWAN目前还有重重困难,但是我们有充分的理由相信LPWAN即将爆发的趋势不变,当然,因为LPWAN是一个技术流派繁多的市场,除了LoRa、NB-IOT、eMTC还有RPMA、ZETA等等众多的技术流派,对于应用企业而言…

01【Git的基本使用与底层命令】

下一篇:02【Git的分支与数据恢复】 目录:【Git系列教程-目录大纲】 文章目录 一、Git概述1.1 Git简介1.2 集中式与分布式1.2.1 集中式版本控制1.2.2 分布式版本控制 1.3 Git的使用流程1.3.1 本地仓库1.3.2 协同开发 1.4 Git的配置1.4.1 Git的配置等级1…

Java——List接口

1.Java单列集合类(Collection)概述 Java中的集合类就像一个容器,专门用来存储Java类的对象。 数组可以用来保存对个对象,但有时无法事先确定需要保存对象的个数,此时数组便不再使用,因为数组的长度不可变…

小黑怀柔证书下来,腿部酸痛也得到了缓解,跟跑团里的毛毛一起遛龙潭中湖公园,过两天要走闭幕式的leetode之旅的leetcode之旅:18. 四数之和

小黑代码(小黑独立做出来) class Solution:def fourSum(self, nums: List[int], target: int) -> List[List[int]]:# 数组长度n len(nums)if n < 4:return []# 排序nums.sort()def three_sum(target_, start, end):if end - start < 2:return []# 结果数组res []fo…

如何申请免费的DV SSL证书

SSL&#xff08;Secure Sockets Layer&#xff09;证书是保护网站和用户数据安全的重要组成部分。DV&#xff08;Domain Validation&#xff09; SSL证书是最简单的一种&#xff0c;通常用于验证域名的拥有权。虽然市面上有许多商业SSL证书&#xff0c;但您也可以轻松获得免费的…

IP地址为什么需要SSL证书

随着互联网的发展&#xff0c;越来越多的企业和个人开始使用IP地址进行网站访问。然而&#xff0c;明文传输的IP地址很容易被黑客截取&#xff0c;从而导致数据泄露和网络安全问题。因此&#xff0c;为了保护IP地址的数据传输安全&#xff0c;企业需要使用IP地址证书。 点击申请…

OCPP1.6协议

目录 导言 功能简介 本地授权列表 类型 IdToken IdTagInfo 授权状态 ChargePointErrorCode CiString50Type 充电桩状态-ChargePointStatus 协议指令 1、授权-Authorize 1.1 说明 1.2 Authorize.req 1.3 Authorize.conf 1.4 JSON格式 1.5 代码 2、启动通知-B…

华为OD机试 - 热点网站统计 - 逻辑分析(Java 2023 B卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷&#xff09;》…

【C++】缺省参数与函数重载

&#x1f440;樊梓慕&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》 &#x1f31d;每一个不曾起舞的日子&#xff0c;都是对生命的辜负 前言 本篇文章博主将带你学习缺省参数与函数重载&…

京东API接口带你了解京东工业|电商及供应链服务

京东工业赴港上市&#xff0c;带着非常优秀的成绩。 招股书显示&#xff0c;2022年实现交易额223亿元&#xff0c;营收141亿元&#xff0c;调整后净利润7亿元。短短六年时间&#xff0c;已成为中国工业供应链技术与服务市场领导者。京东API接口接入调取京东商品详情&#xff0c…

零基础怎么样才能学好 Python?Python 入门必看

Python 目前可以用一个字来描述那就是 “火”&#xff0c;问题来了&#xff0c;这么火的语言零基础小白到底该怎样学习 Python&#xff1f; 首先&#xff0c;从基础开始学习&#xff0c;切勿毛躁。 刚开始学习 Python 的时候&#xff0c;我们可能会有些毛躁总觉得这些知识太简…

南美委内瑞拉市场最全分析开发攻略,收藏一篇就够了

委内瑞拉是一个常被国内跨境商家忽略但具有巨大潜力的市场。尽管委内瑞拉的网络基础建设水平较低&#xff0c;网络速度受限&#xff0c;但委内瑞拉网络渗透率较佳。因为长期受美国制裁&#xff0c;所以经济发展水平较低&#xff0c;很多产品依赖进口&#xff0c;市场潜力还是非…

睿趣科技:抖音短视频带货素材哪里找

随着抖音短视频的火爆&#xff0c;越来越多的商家开始利用抖音进行产品推广和销售。而制作一部成功的抖音短视频&#xff0c;除了需要有吸引人的内容和创意外&#xff0c;还需要有高质量的素材。那么&#xff0c;抖音短视频带货素材应该去哪里找呢? 首先&#xff0c;我们可以从…

将excel表中的英文自动翻译成中文

某乎上垃圾内容太多&#xff0c;要么是复制粘贴的youdao翻译&#xff0c;要么是某网络函数库的软广。这里提供office的原生方法&#xff0c;需要用到word&#xff08;不适合数据量太大的情况&#xff09; 方法 复制需要翻译的列到word选择审阅 -> 翻译 -> 翻译文档 -&g…

掌控安全Update.jsp SQL注入

0x01 漏洞介绍 亿赛通电子文档安全管理系统是国内最早基于文件过滤驱动技术的文档加解密产品之一&#xff0c;保护范围涵盖终端电脑&#xff08;Windows、Mac、Linux系统平台&#xff09;、智能终端&#xff08;Android、IOS&#xff09;及各类应用系统&#xff08;OA、知识管理…

【精华系列】跟着Token学习数据挖掘-1

Hello&#xff0c;大家好&#xff01;这里是Token的博客&#xff0c;欢迎您的到来 今天整理的笔记时数据挖掘方向的基础入门&#xff0c;了解数据分析使用的一些基础的Python库&#xff0c;为后面的数据处理做好准备 01-数据分析工具介绍 准备&#xff1a;Python的安装、平台搭…

PTE-精听学习(一)

目录 SST SST每一题都是单独计时 MMA 切换题目的时候&#xff0c;总是会迷茫 deduct 出现关键词之后&#xff0c;才开始精听 没有人管你 &#xff0c;绝对是要为后方留出更多的时间 &#xff0c;选多一个错的&#xff0c;要倒扣分 特征 1.paraphrase 2.循序出现 …

MySQLJDBC入门与SQL注入

MySQL-JDBC入门与SQL注入 一.JDBC概述 1.JDBC 在Java语言中提供对数据库访问的支持Sun公司于1996年提供了一套访问数据库的标准Java类库JDBCJDBC的全称是Java数据库连接(Java Database Connectivity)它是一套用于执行 SQL语句的Java API应用程序可通过这套API连接到关系数据…