Das Front-End stellt Front-End-Code für verschiedene Server und verschiedene Umgebungen bereit.

1. Anforderungen:

Der Kunde verlangt, dass die Front-End- und Back-End-Codes auf unterschiedlichen Servern bereitgestellt werden. Je nach Server kann der Domänenname geändert werden, um den Effekt des Schnittstellenwechsels zu erzielen. Es besteht keine Notwendigkeit, den Domänennamen des Servers zu ändern Dies führt dazu, dass der Front-End-Code erneut mehrmals gepackt wird.

2. Analyse:

  1. Verschiedene Server: Der erste Front-End-Code, der dem Benutzer gegeben wird, ist der Dist-Ordner, der vom Front-End generiert wird, auf dem npm run build in vscode ausgeführt wird. Da aufgrund der Änderung der Serverdomäne kein Paket des Front-End-Codes erforderlich ist name, nach dem Packen muss ein unabhängiger dist-Ordner vorhanden sein. Dateien zum Ändern unterschiedlicher Domänennamen je nach Benutzerserver;

  1. Verschiedene Umgebungen: Im Allgemeinen verfügt ein Projekt über drei Umgebungen (dev (Entwicklungsumgebung), fat ((Testumgebung) (einige werden auch uat genannt) und Produktionsumgebung);

Um die beiden oben genannten Situationen zu verstehen, können Sie die folgenden Anweisungen lesen.

3. Verwendetes Frontend-Framework:

Ansicht2

4. Projektdateistruktur

5. Lösung:

5.1. Erstellen Sie zunächst eine neue Datei config.js im öffentlichen Ordner. Diese Datei muss in die Datei index.html im öffentlichen Ordner und über dem HTML eingefügt werden, um die vorrangige Ausführung von HTML zu erleichtern.

config.js文件
// 说明:
// 服务器域名更改:  如服务器域名更改为http://test/api,则
// var Api_CONFIG = "http://test/api"
index.html
<!DOCTYPE html>
<html lang="cn">
  <head>
    <script src="./config.js"></script>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">

5.2. Schreiben Sie die entsprechenden Umgebungsdomänennamen in die drei Umgebungsdateien in 4. Projektdateistruktur (hier durch Test ersetzt)

5.2.1. In der Datei .env.dev

NODE_ENV = 'dev'

# base api

VUE_APP_BASE_URL = "http://test/api" // 开发环境

5.2.2. In der .env.fat-Datei

NODE_ENV = 'fat'

# base api

VUE_APP_BASE_URL = "http://test/api" // 测试环境

5.2.3. In der Datei .env.prod

NODE_ENV = 'prod'

# base api

VUE_APP_BASE_URL = "http://test/api" // 生产环境

6. In der Datei „setting.js“ im Stammverzeichnis

const baseApi = process.env.VUE_APP_BASE_URL // process.env是nodejs的顶层对象,可以在main.js内输出看一下

7. Legen Sie den angeforderten Basispfad in der Anforderungsdatei fest

import { baseApi } from "../../settings";
const API = window.Api_CONFIG || baseApi
axios.defaults.baseURL =  process.env.NODE_ENV === 'dev' ? baseApi : API,
解读:
    当window.Api_CONFIG有值的话,就等于API(window.Api_CONFIG是来源于config.js文件的用户填写的域名),或者就是setting.js文件内的baseApi,而baseApi是根据process.env(nodejs进程的环境)对象内的VUE_APP_BASE_URL值,而VUE_APP_BASE_URL的值是根据NODE_ENV是dev、fat、还是prod来决定的

8. Der Front-End-Code sollte vor der Bereitstellung über einen Proxy angefordert werden. Zu diesem Zeitpunkt müssen Sie daher den Proxy in der Datei vue.config.vue auskommentieren und dann dev erneut mit npm ausführen oder das Projekt bereitstellen.

8.1. Wenn der Proxy auskommentiert ist, ist die Anfrage dann nicht domänenübergreifend? Natürlich ist es domänenübergreifend. Wenn also eine Back-End-Bereitstellung erforderlich ist, ist eine domänenübergreifende Bereitstellung zulässig.

Zusammenfassen:

Ich möchte diesen Artikel speichern. Ich hoffe, dass die Front-End-Brüder und -Schwestern, die diesen Artikel lesen, bei Fragen rechtzeitig Hilfestellung leisten. Vielen Dank!

Supongo que te gusta

Origin blog.csdn.net/weixin_42234899/article/details/128673237
Recomendado
Clasificación