首页 > 系统相关 >vue.js 3 初学经验:开发环境搭建,Windows,nginx

vue.js 3 初学经验:开发环境搭建,Windows,nginx

时间:2024-04-29 22:46:34浏览次数:28  
标签:vue header Windows js nginx set proxy

Windows 11

nginx-1.20.0

"vue": "^3.4.21"

---

 

序章

vue3 开发,不需要后端服务业是可以的。

在需要后端服务时,使用 nginx 来转发请求是很好的(个人开发者)。

 

注,还有什么其它方式吗?

注,本文的后端服务 是使用 Java 开发的 HTTP 接口。

注,参考资料#2 介绍了 多个 vue.js 3.0 项目的配置,本文则 多了 后端服务的配置。

 

架构图

用户 访问 nginx;

nginx 转发 vue.js 项目的文件(npm run build 后在 dist 目录生成的);

nginx 转发 后端请求到 Java 后端。

 

vue.js 3.0 项目编译

执行 npm run build 命令,默认生成到 项目的 dist 目录下:

注,SPA,单页面应用。

 

启动后端服务

Java 程序:

java -jar app.jar

注,开发环境,就不用太麻烦了。

ben发布于博客园

配置 nginx(重点)

http 节点下配置:

include D:/work/nginx-1.20.0/conf/servers/*.conf;

include D:/work/nginx-1.20.0/conf/upstreams/*.conf;

servers 下放置 服务器配置,不同域名、不同端口的服务器。

upstreams 下放置 后端服务 的 upstream 配置。

 

server 配置

servers 下建立 服务器的 conf 文件:localhost.conf

server {
    listen       80;
    listen       [::]:80;
    #server_name  _;
    # 关键1
    root         D:/code/tlprj/vue3prj/dist;

    # Load configuration files for the default server block.
    include D:/work/nginx-1.20.0/conf/default.d/*.conf;

    location ^~ /app {
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   Host      $http_host;
            proxy_set_header X-NginX-Proxy true;

            # 关键2
            proxy_pass http://server29001;
    }

    location ^~ /system {
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   Host      $http_host;
            proxy_set_header X-NginX-Proxy true;

            # 关键2
            proxy_pass http://server29001;
    }
	
    # 关键3
	# view 地址 跳转到 首页
	location / {
		try_files $uri $uri/ /index.html;
	}

    error_page 404 /404.html;
        location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}

关键1:

server.root 配置,指向 vue.js 3.0 项目的 dist目录。

关键2:

转发请求到后端的 Java 程序。

关键3:

在不同的 vue.js 视图(View) 刷新时,放置返回到首页。见 参考资料#1 的官方文档介绍。

 

注意,

其中转发 以 /app、/system 开头的 两类请求, 可以优化为一个,后端服务统一前缀。

其中的 location 用的是【^~】,而不是 单独的【~】。

 

upstream 配置

upstream server29001 {
        server localhost:29001;
}

ben发布于博客园

使用开发环境

启动 nginx。

启动后端服务——确保接口已开发完毕,可联调、可发布。

接下来,在 vue.js 3.0 项目尽情开发吧——好好调用后端接口。

 

征求意见

在 vue.js 3.0 项目中,使用 npm run dev 命令 会启动一个 端口为5137 的web服务,可以访问 Web项目。

在不使用 nginx 时,怎么在 这种情况下 使用后端服务呢?

ben发布于博客园

---END---

 

本文链接:

https://www.cnblogs.com/luo630/p/18166690

 

ben发布于博客园

参考资料

1、vue router

https://v3.router.vuejs.org

其中有一个 页面介绍 nginx 的 try_files 配置的。

2、手把手教 Nginx 部署 Vue 项目

2020-03-19

作者:狗尾巴花的尖

https://juejin.cn/post/6844904096973979662

3、【nginx】nginx之location规则详解:
作者:Sun Peng
于 2023-07-25 22:45:44 发布
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
https://blog.csdn.net/weixin_53791978/article/details/131927724

4、

 

ben发布于博客园

ben发布于博客园

 

标签:vue,header,Windows,js,nginx,set,proxy
From: https://www.cnblogs.com/luo630/p/18166690

相关文章

  • 给Qt搭建一个简单的Json服务器用于软件调试
    一.vscode+nodejs+npm安装二.nodejs服务器开启打开vscode-终端-新建终端进入json_server目录cdD:\json_server运行启动命令,启动json-server服务器npmrunjson:server效果如下:PSD:\json_server>npmrunjson:server>[email protected]:se......
  • Windows开源输入法 - RIME输入法
    前言#上一篇文章介绍了Windows下的包管理器,本文继续介绍输入法。事实上Windows的输入法生态比Linux/Mac丰富很多,不过很多国产输入法存在窃取隐私、植入广告、乱安装流氓软件等问题,现在有开源的RIME输入法可以选择,何必受这气呢......
  • 2024年,提升Windows开发和使用体验实践 - 小工具篇
    前言#本来是一篇文章的,不知不觉写成了系列。其实开工那几天就已经写好了长文,这几天一忙就没连着发了。本文介绍一些Windows上用的小工具。美化/折腾/小工具#虽然这是在用Windows,但阻止不了我想折腾的心!把玩Linux的那些花样拿出来,虽然Windows可以自定义的程度没有Li......
  • windows使用samba共享linux文件服务
    一、服务结构服务端:linux服务器192.168.2.251客户端:windows服务器192.168.2.252二、linux部署samba服务端1.安装samba~]#yum-yinstallsamba2.创建共享文件夹~]#mkdir/mnt/svr33.创建samba用户~]#smbpasswdwyg或者~]#pdbedit-a-utest密码:wyg.1234.编......
  • 稳扎稳打 部署丝滑 开源即时通讯(IM)项目OpenIM源码部署流程(linux windows mac)
    背景OpenIM包含多个关键组件,每个都是系统功能必不可少的一部分。具体来说,MongoDB用于持久化存储;Redis用作缓存;Kafka用于消息队列;Zookeeper用于服务发现;Minio用于对象存储。这些组件的众多可能会增加部署的复杂性。此外,系统包含多个微服务模块,这要求有效管理进程的启动、停止......
  • Windows下绑定线程到指定的CPU核心
    在某些场景下,需要把程序绑定到指定CPU核心提高执行效率。通过微软官方文档查询到Windows提供了两个Win32函数:SetThreadAffinityMask和SetProcessAffinityMask为指定线程和进程设置处理器关联掩码。通俗的讲就是在指定的CPU核心上执行线程或者进程。这里的CPU核心指的是逻辑核心......
  • html-docx-js 导出word
    1:列表页面按钮<el-buttontype="warning"plainicon="el-icon-download"size="mini"@click="exportWorddata">导出word</el-button> <......
  • 视野修炼-技术周刊第82期 | Node.js v22
    欢迎来到第82期的【视野修炼-技术周刊】,下面是本期的精选内容简介......
  • JS代码混淆
    开源代码混淆加密JJEncodeAAEncodeJSFuckhttps://www.sojson.com/ 首先拿一段示例代码functionaa(){console.log('123');}aa();控制台中输出会显示123。 aaencode加密结果゚ω゚ノ=/`m´)ノ~┻━┻//*´∇`sojson.com*/['_'];o=(゚ー゚)=_=3;c=(゚Θ゚)=(゚ー゚)-(゚ー゚);......
  • Nuxt2项目Js文件使用Vuex
    背景当前项目是Nuxt2框架,建立了Vuex仓库。通过返回一个函数的形式,建立Vuex代码如下importVuefrom'vue'importVuexfrom'vuex'Vue.use(Vuex)conststore=()=> newVuex.Store({ state:{ name:'abc' }, mutations:{ setName(state,data){ ......