首页 > 系统相关 >vue3,Nginx部署情况

vue3,Nginx部署情况

时间:2023-11-30 16:05:06浏览次数:47  
标签:vue const 部署 true http Nginx vue3 console HsApi

一.Vue3项目情况说明

router文件夹下的index.js

import { createRouter, createWebHashHistory } from "vue-router"

const routes = [
    {
        path:'/saoma',
        name:'Saoma',
        // redirect:'/saoma',
        component:() => import('../views/saoma.vue')
    },
    {
        path:'/home',
        name:'home',
        component:() => import('../views/home.vue')
    },
    {
        path:'/',
        name:'home',
        component:() => import('../views/home.vue')
    },
]

var router=createRouter({
    history:createWebHashHistory(),
    routes
})
export default router

vue.config.js

在vue3+vite项目当中默认是没有vue.config.js文件的,因此需要自己在根目录下去新建文件

文件配置如下:

export const publicPath = './';
module.exports = {
    devServer: {
        open: true,
        proxy: {
            "/HsApi": {
                // 凡是以 /HsApi 开头的请求,进行代理
                target: "http://192.168.190.20:8085/",
                changOrigin: true,  //允许跨域
                wx:true,
                pathRewrite:{
                    '^/HsApi':''
                }
            },
                "/HsMinio": {
                    // 凡是以 /HsMinio 开头的请求,进行代理
                    target: "http://192.168.190.20:3000/",
                    changOrigin: true,  //允许跨域
                    wx:true,
                    pathRewrite:{
                        '^/HsMinio':''
                    }
                },
            "/Sequelize": {
                // 凡是以 /Sequelize 开头的请求,进行代理
                target: "http://192.168.190.20:3000/api/",
                changOrigin: true,  //允许跨域
                wx:true,
                pathRewrite:{
                    '^/Sequelize':''
                }
            },
        },
    
    },
}

main.js

import { createApp } from 'vue'
import App from './App.vue'
import axios from 'axios'
import router from './router'
axios.defaults.baseURL="/api"
const app = createApp(App)
app.use(router)
app.mount('#app')

home.vue

下面展示代码为主要代码

通过fetch方法实现对“http://192.168.190.20:8085/HsMesApi/AddBarCodeModel”的POST请求,在这个方法下会产生一个问题,就是跨域请求问题,关于跨域请求详情参考(https://mp.weixin.qq.com/s/sy3EgXJFnCtcpsDbtn6azg),因此通过在vue.config.js当中配置代理池来进行访问,表面上访问的是“http://localhost:8085/HsApi/HsMesApi/AddBarCodeModel”,但是在实际上在访问到/HsApi时,会将“http://localhost:8085/HsApi/”整体替换成“http://192.168.190.20:8085”,通过这种方法实现跨域请求。

fetch('/HsApi/HsMesApi/AddBarCodeModel', {
    method: 'POST',
    headers:{
      "Content-Type": "application/json",
    },
    body:data
  }).then(res => res.json())
      .then(data => console.log(data))
        .catch(error => console.error(error))

通过引用Element-Plus里面的Autocomplete自动补全输入框,由于官方文档中使用的是TypeScript编写的,这里需要进行Javascript的改写,首先是将获取到的数据存入自身定义的数组当中

const getProdLineDetail = async () =>{
  // console.log(11111111111);
  await fetch('/HsApi/HsMesApi/GetProdLineDetail', {
    method: 'POST',
    headers:{
      "Content-Type": "application/json",
    },
  }).then(res => res.json())
      .then(data => Product.values = JSON.parse(data.data))
        .catch(error => console.error(error))
  // console.log(Product.values[0]);
  for (let i = 0; i < Product.values.length; i++) {
    const element = Product.values[i]
    const restaurant = {value:element.Line, link: element.Describe};
    restaurants.push(restaurant);
  }
}

对本身组件绑定事件

const querySearch = (queryString ,cb) =>{
  getProdLineDetail();
  // 通过延时来解决数据加载问题,这里要先等数据加载完成才能够实现自动补全,不然当你输入部分字符时,是不会跳出补全信息的
  setTimeout(() => {
    const result = queryString ? restaurants.filter(createFilter(queryString)) : restaurants
    cb(result)
  }, 200);
  
}

const createFilter = (queryString) =>{
  return (restaurantsts) => {
    return (restaurantsts.value.indexOf(queryString) !== -1)
  }
}

const handleSelect = (item) =>{
  form.Line = chanxian.value;
  console.log("输入的对象item:", item);
  console.log("输入框的值:", chanxian);
  
}

详细的情况可以参考(https://blog.csdn.net/spring_007_999/article/details/130224122

然后在终端运行打包

npm run build

在目录下生成dist文件夹

二.Windows下Nginx部署

首先将打包好的dist文件整体放置在nginx目录下的html文件夹中

然后通过纯文本打开conf文件夹下的nginx.conf进行路由配置

主要修改地方有两处

修改根路径的root指向,已经新配置路由。

运行

cmd下运行nginx.exe

然后访问(在启动nginx.exe之前先检查端口使用情况,详细可以参考https://blog.csdn.net/XP1990/article/details/126946906

三.Linux下Nginx部署

与windows下部署相同,但是需要注意路由的配置情况。

标签:vue,const,部署,true,http,Nginx,vue3,console,HsApi
From: https://blog.51cto.com/u_16397236/8631734

相关文章

  • 阿里云ubuntu 部署mosquitto服务器
    阿里云ubuntu部署mosquitto服务器安装mosquittosudoaptinstallmosquitto添加用户名密码touch/etc/mosquitto/pwdfilesudochmod0700/etc/mosquitto/pwdfilesudochownmosquitto/etc/mosquitto/pwdfilemosquitto_passwd-b/etc/mosquitto/pwdfileusernamepass......
  • Kubernetes 部署 NFS server
    环境要求kubernetes:1.21+部署NFSserver下载nfsserver部署清单#wgethttps://raw.githubusercontent.com/kubernetes-csi/csi-driver-nfs/master/deploy/example/nfs-provisioner/nfs-server.yaml添加nsnfsapiVersion:v1kind:Namespacemetadata:name:nfs---......
  • Docker-Compose部署Gitlab以及Gitlab配置SMTP邮件服务
    使用Docker-Compose部署Gitlab拉取镜像地址:https://hub.docker.com/r/gitlab/gitlab-ce/tags拉取到镜像后,使用dockertag修改镜像,dockerpush推送到自己的镜像仓库(内网部署)编写docker-compose文件##创建容器挂载出来的文件夹mkdir/gitlab&&cd/gitlabmkdir-pdata/{l......
  • Qt应用开发--国产工业开发板全志T113-i的部署教程
    Qt在工业上的使用场景包括工业自动化、嵌入式系统、汽车行业、航空航天、医疗设备、制造业和物联网应用。Qt被用来开发工业设备的用户界面、控制系统、嵌入式应用和其他工业应用,因其跨平台性和丰富的功能而备受青睐。Qt能够为工业领域带来什么好处:-Qt提供了强大的图形引擎,使开发......
  • 从物理机到K8S:应用系统部署方式的演进及其影响
    公众号「架构成长指南」,专注于生产实践、云原生、分布式系统、大数据技术分享。概述随着科技的进步,软件系统的部署架构也在不断演进,从以前传统的物理机到虚拟机、Docker和Kubernetes,我们经历了一系列变化。这些技术的引入给我们带来了更高的资源利用率、更快的部署速度和更......
  • Nginx loki监控日志的学习
    Nginxloki监控日志的学习背景学习https://mp.weixin.qq.com/s/Qt1r7vzWvCcJpNDilWHuxQ增加了一些自己的理解第一部分nginx日志的完善在logformat的后面增加一个:log_formatjson_analyticsescape=json'{''"msec":"$msec",'#request......
  • 12.kafka单集群安装部署
    一.安装jdk,kafka需要至少jdk8+1.安装jdkyuminstalljava-11-openjdk.x86_64-y 2.查看安装是否正常[root@localhostbin]#java--versionopenjdk11.0.212023-10-17LTSOpenJDKRuntimeEnvironment(Red_Hat-11.0.21.0.9-1.el7_9)(build11.0.21+9-LTS)OpenJDK......
  • Linux部署WebDAV
    1.下载在下面网址下载对应版本的WebDAV服务端https://github.com/hacdias/webdav/releases/tag/v4.2.02.运行与配置将解压后的WebDAV复制到/usr/bin路径下在适当的位置编写配置文件webdav.yaml注意需要使用单引号将用户名、密码和路径括住。#Serverrelatedsettingsadd......
  • clion nginx remote debug 简单说明
    社区有人共享了一个基于clion通过gdbserver进行nginx调整远程调试的实践,很不错值得学习下具体参考https://www.jianshu.com/p/3c2fdb06de9e 但是实际上我们可以直接自己配置基于clion启动remotenginx调整如下(核心是自己添加了一个debug的配置)构建makefile配置这部分,添加......
  • vue3页面中,两个相同组件,一个卸载,一个挂载,后展示的组件事件监听不生效?
    场景:在实际开发中,遇到了这样一种场景,vue3页面,两个相同组件,在满足某条件下展示第一个组件,满足另一个条件下,隐藏第一个组件,同时展示第二个组件,比如反馈组件,会通过window.addEventListener来监听自定义的反馈弹窗展示和隐藏事件。结果:两个相同组件一个卸载,一个挂载,第一个组监听的......