Heim Web-Frontend js-Tutorial Detaillierte Erläuterung der Schritte zum Packen von Vue-Projekten nach Umgebung

Detaillierte Erläuterung der Schritte zum Packen von Vue-Projekten nach Umgebung

Apr 20, 2018 pm 02:03 PM
打包 环境 详解

Dieses Mal werde ich Ihnen die Schritte zum Packen des Vue-Projekts nach Umgebung ausführlich erläutern. Was sind die Vorsichtsmaßnahmen zum Packen des Vue-Projekts nach Umgebung? ein Blick.

In der Projektentwicklung sind unsere Projekte im Allgemeinen in Entwicklungsversion, Testversion, Vorversion und Prod-Version unterteilt. Die Standardumgebungen von Vue-cli sind nur dev und prod. In der Vergangenheit musste ich jedes Mal, wenn ich eine Testversion oder Vorversion veröffentlichen wollte, die API-Adresse im Quellcode ändern und sie dann packen, was sehr mühsam war . Es wäre perfekt, wenn es je nach Umgebung verpackt werden könnte. Ich habe viele Informationen im Internet gesammelt und kann das Programm jetzt entsprechend der Umgebung packen. Lassen Sie uns bleiben und sehen, wie es geht.

Schritt 1: Installierencross-env

Führen Sie den folgenden Befehl im Projektverzeichnis aus, um Cross-env zu installieren , Meine IDE ist Webstorm. Sie muss direkt im Terminalfenster der IDE ausgeführt werden. Es ist auch möglich, das Projektstammverzeichnis über das CMD von Windows oder das Terminal von Linux zu finden und den folgenden Befehl auszuführen.

npm i --save-dev cross-env

Schritt 2: Ändern Sie die Parameter in jeder Umgebung

Test im Verzeichnis config/ hinzufügen. env.js, pre.env.js. Ändern Sie den Inhalt in prod.env.js. Der geänderte Inhalt lautet wie folgt:

'use strict'
module.exports = {
 NODE_ENV: '"production"',
 EVN_CONFIG:'"prod"',
 API_ROOT:'"/apis/v1"'
}
Nach dem Login kopieren

Ändern Sie den Inhalt der Dateien test.env.js bzw. pre.env.js folgt:

'use strict'
module.exports = {
 NODE_ENV: '"testing"',
 EVN_CONFIG:'"test"',
 API_ROOT:'"/test/apis/train"'
}
'use strict'
module.exports = {
 NODE_ENV: '"presentation"',
 EVN_CONFIG:'"pre"',
 API_ROOT:'"/pre/apis/train"'
}
Nach dem Login kopieren

Ändern Sie den Inhalt der Datei dev.env.js. Der geänderte Inhalt ist wie folgt. Die Entwicklungsumgebung ist mit einem Service-Proxy konfiguriert, und die API vor API_ROOT ist die konfigurierte Proxy-Adresse.

module.exports = merge(prodEnv, {
 NODE_ENV: '"development"',
 VN_CONFIG: '"dev"',
 API_ROOT: '"api/apis/v1"'
})
Nach dem Login kopieren

Schritt 3: Ändern Sie die Datei package.json des Projekts

Personalisieren Sie den Skriptinhalt in der Datei package.json und fügen Sie die hinzu Parameter im Paketierungsprozess mehrerer neu definierter Umgebungen stimmen mit den vorherigen Anpassungen überein.

"scripts": {
  "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
  "start": "npm run dev",
  "build": "node build/build.js",
  "build:test": "cross-env NODE_ENV=production env_config=test node build/build.js",
  "build:pre": "cross-env NODE_ENV=production env_config=pre node build/build.js",
  "build:prod": "cross-env NODE_ENV=production env_config=prod node build/build.js"
 },
Nach dem Login kopieren

Hier ist es am besten, NODE_ENV auf Produktion zu setzen, da in utils.js nur eine Beurteilung der Produktion vorgenommen wird und persönliche Tests keinen Einfluss auf die API-Parameter jeder Umgebung haben. ##Schritt 4: Ändern Sie config/index.js

Ändern Sie die Build-Parameter in der Datei config/index.js. Die Parameter hier werden in build/webpackage.prod.conf.js verwendet

build:{
  // Template for index.html
  // 添加test pre prod 三处环境的配制
  prodEnv: require('./prod.env'),
  preEnv: require('./pre.env'),
  testEnv: require('./test.env'),
  //下面为原本的内容,不需要做任何个性
  index:path.resolve(dirname,'../dist/index.html'),
Nach dem Login kopieren

Schritt 5: Verwenden Sie die Build-Umgebungsparameter

in webpackage.prod.conf.js, um build/webpackage.prod.conf.js zu ändern die Datei und passen Sie die Art und Weise an, wie Umgebungskonstanten generiert werden.

// 个性env常量的定义
// const env = require('../config/prod.env')
const env = config.build[process.env.env_config+'Env']
Nach dem Login kopieren

Schritt 6: Build/build.js anpassen

Löschen Sie die Zuweisung von Process.env.NODE_ENV und ändern Sie die Definition von Spinner, der angepasste Inhalt lautet wie folgt:

'use strict'
require('./check-versions')()
// 注释掉的代码
// process.env.NODE_ENV = 'production'
const ora = require('ora')
const rm = require('rimraf')
const path = require('path')
const chalk = require('chalk')
const webpack = require('webpack')
const config = require('../config')
const webpackConfig = require('./webpack.prod.conf')
// 修改spinner的定义
// const spinner = ora('building for production...')
var spinner = ora('building for ' + process.env.NODE_ENV + ' of ' + process.env.env_config+ ' mode...' )
spinner.start()
//更多的其它内容,不需要做任何调整的内容 ...
Nach dem Login kopieren

Ergänzung:

Wie vue2+webpack nach Umgebung verpackt wird

Dieses Jahr hatte ich die Gelegenheit, an einem Vue2-Single-Page-Anwendungsprojekt zu arbeiten. Ich habe zwei Umgebungen von der Entwicklung bis zum Start durchlaufen. Ich führe npm run build sowohl in der Testumgebung als auch in der offiziellen Umgebung aus. Die Variablen dieser beiden Umgebungen sind derzeit unterschiedlich. Es ist etwas mühsam, die Variablen beim Packen jedes Mal zu ändern. Später habe ich auf meine Kollegen verwiesen, die je nach Umgebung unterschiedliche Befehle ausgeführt und unterschiedliche Pakete erhalten haben. Zum Beispiel die Testumgebung NPM Run Test und die formale Umgebung NPM Run Build.

Muss in der Datei config/prod.env.js konfiguriert werden

const target = process.env.npm_lifecycle_event;
  if (target == 'test') {
  //测试
  var obj = {
  NODE_ENV: '"production"',
  //post用当前域名
  API_ROOT: '""',
  //数据字典
  API_ROOT_DICT:'"http://test.gw.fdc.com.cn"',
  }
}else {
  //线上
  var obj = {
  NODE_ENV: '"production"',
  //post用当前域名
  API_ROOT: '""',
  //数据字典
  API_ROOT_DICT:'"http://gw.fdc.com.cn"',
  }
}
module.exports = obj;
Nach dem Login kopieren

npm stellt eine npm_lifecycle_event-Variable bereit, um den Namen des aktuell ausgeführten Skripts zurückzugeben, z. B. pretest, test, Nachtest usw. Daher können Sie diese Variable verwenden, um Code für verschiedene NPM-Skriptbefehle in derselben Skriptdatei zu schreiben.

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Vuex-Anwendungsfall in React

Verwendung der integrierten Vue-Anweisungen

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Schritte zum Packen von Vue-Projekten nach Umgebung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Die Windows-Wiederherstellungsumgebung kann nicht gestartet werden Die Windows-Wiederherstellungsumgebung kann nicht gestartet werden Feb 19, 2024 pm 11:12 PM

Windows Recovery Environment (WinRE) ist eine Umgebung zur Reparatur von Windows-Betriebssystemfehlern. Nach dem Aufrufen von WinRE können Sie eine Systemwiederherstellung, einen Werksreset, die Deinstallation von Updates usw. durchführen. Wenn Sie WinRE nicht starten können, führt Sie dieser Artikel durch Korrekturen zur Behebung des Problems. Die Windows-Wiederherstellungsumgebung kann nicht gestartet werden. Wenn Sie die Windows-Wiederherstellungsumgebung nicht starten können, verwenden Sie die unten bereitgestellten Korrekturen: Überprüfen Sie den Status der Windows-Wiederherstellungsumgebung. Verwenden Sie andere Methoden, um die Windows-Wiederherstellungsumgebung aufzurufen. Haben Sie versehentlich die Windows-Wiederherstellungspartition gelöscht? Führen Sie unten ein direktes Upgrade oder eine Neuinstallation von Windows durch. Wir haben alle diese Korrekturen ausführlich erläutert. 1] WLAN prüfen

Ausführliche Erklärung zur Erlangung von Administratorrechten in Win11 Ausführliche Erklärung zur Erlangung von Administratorrechten in Win11 Mar 08, 2024 pm 03:06 PM

Das Windows-Betriebssystem ist eines der beliebtesten Betriebssysteme der Welt und seine neue Version Win11 hat viel Aufmerksamkeit erregt. Im Win11-System ist die Erlangung von Administratorrechten ein wichtiger Vorgang. Mit Administratorrechten können Benutzer weitere Vorgänge und Einstellungen auf dem System durchführen. In diesem Artikel wird ausführlich beschrieben, wie Sie Administratorrechte im Win11-System erhalten und wie Sie Berechtigungen effektiv verwalten. Im Win11-System werden Administratorrechte in zwei Typen unterteilt: lokaler Administrator und Domänenadministrator. Ein lokaler Administrator verfügt über vollständige Administratorrechte für den lokalen Computer

Detaillierte Erläuterung der Divisionsoperation in Oracle SQL Detaillierte Erläuterung der Divisionsoperation in Oracle SQL Mar 10, 2024 am 09:51 AM

Detaillierte Erläuterung der Divisionsoperation in OracleSQL In OracleSQL ist die Divisionsoperation eine häufige und wichtige mathematische Operation, die zur Berechnung des Ergebnisses der Division zweier Zahlen verwendet wird. Division wird häufig in Datenbankabfragen verwendet. Daher ist das Verständnis der Divisionsoperation und ihrer Verwendung in OracleSQL eine der wesentlichen Fähigkeiten für Datenbankentwickler. In diesem Artikel werden die relevanten Kenntnisse über Divisionsoperationen in OracleSQL ausführlich erörtert und spezifische Codebeispiele als Referenz für die Leser bereitgestellt. 1. Divisionsoperation in OracleSQL

Detaillierte Erläuterung der Rolle und Verwendung des PHP-Modulo-Operators Detaillierte Erläuterung der Rolle und Verwendung des PHP-Modulo-Operators Mar 19, 2024 pm 04:33 PM

Der Modulo-Operator (%) in PHP wird verwendet, um den Rest der Division zweier Zahlen zu ermitteln. In diesem Artikel werden wir die Rolle und Verwendung des Modulo-Operators im Detail besprechen und spezifische Codebeispiele bereitstellen, um den Lesern ein besseres Verständnis zu erleichtern. 1. Die Rolle des Modulo-Operators Wenn wir in der Mathematik eine ganze Zahl durch eine andere ganze Zahl dividieren, erhalten wir einen Quotienten und einen Rest. Wenn wir beispielsweise 10 durch 3 dividieren, ist der Quotient 3 und der Rest ist 1. Um diesen Rest zu ermitteln, wird der Modulo-Operator verwendet. 2. Verwendung des Modulo-Operators In PHP verwenden Sie das %-Symbol, um den Modul darzustellen

Detaillierte Erläuterung der Funktion system() des Linux-Systemaufrufs Detaillierte Erläuterung der Funktion system() des Linux-Systemaufrufs Feb 22, 2024 pm 08:21 PM

Detaillierte Erläuterung der Funktion system() des Linux-Systems Der Systemaufruf ist ein sehr wichtiger Teil des Linux-Betriebssystems. Er bietet eine Möglichkeit, mit dem Systemkernel zu interagieren. Unter diesen ist die Funktion system() eine der am häufigsten verwendeten Systemaufruffunktionen. In diesem Artikel wird die Verwendung der Funktion system() ausführlich vorgestellt und entsprechende Codebeispiele bereitgestellt. Grundlegende Konzepte von Systemaufrufen Systemaufrufe sind eine Möglichkeit für Benutzerprogramme, mit dem Betriebssystemkernel zu interagieren. Benutzerprogramme fordern das Betriebssystem an, indem sie Systemaufruffunktionen aufrufen

Detaillierte Erläuterung der VSCode-Funktionen: Wie hilft es Ihnen, die Arbeitseffizienz zu verbessern? Detaillierte Erläuterung der VSCode-Funktionen: Wie hilft es Ihnen, die Arbeitseffizienz zu verbessern? Mar 25, 2024 pm 05:27 PM

Detaillierte Erläuterung der VSCode-Funktionen: Wie hilft es Ihnen, die Arbeitseffizienz zu verbessern? Mit der kontinuierlichen Weiterentwicklung der Softwareentwicklungsbranche ist das Streben der Entwickler nach Arbeitseffizienz und Codequalität zu wichtigen Zielen ihrer Arbeit geworden. In diesem Prozess wird die Wahl des Code-Editors zu einer Schlüsselentscheidung. Unter vielen Editoren ist Visual Studio Code (kurz VSCode) bei den meisten Entwicklern aufgrund seiner leistungsstarken Funktionen und flexiblen Skalierbarkeit beliebt. In diesem Artikel werden einige Funktionen von VSCode ausführlich vorgestellt und erläutert

Detaillierte Erläuterung des Linux-Befehls „curl'. Detaillierte Erläuterung des Linux-Befehls „curl'. Feb 21, 2024 pm 10:33 PM

Detaillierte Erläuterung des Linux-Befehls „curl“ Zusammenfassung: Curl ist ein leistungsstarkes Befehlszeilentool für die Datenkommunikation mit dem Server. In diesem Artikel wird die grundlegende Verwendung des Curl-Befehls vorgestellt und tatsächliche Codebeispiele bereitgestellt, um den Lesern zu helfen, den Befehl besser zu verstehen und anzuwenden. 1. Was ist Locken? Curl ist ein Befehlszeilentool zum Senden und Empfangen verschiedener Netzwerkanfragen. Es unterstützt mehrere Protokolle wie HTTP, FTP, TELNET usw. und bietet umfangreiche Funktionen wie Datei-Upload, Datei-Download, Datenübertragung und Proxy

Verwandeln Sie Python-Code in eine unabhängige Anwendung: die Alchemie von PyInstaller Verwandeln Sie Python-Code in eine unabhängige Anwendung: die Alchemie von PyInstaller Feb 19, 2024 pm 01:27 PM

PyInstaller ist eine Open-Source-Bibliothek, die es Entwicklern ermöglicht, Python-Code in plattformunabhängige, eigenständige ausführbare Dateien (.exe oder .app) zu kompilieren. Dies geschieht durch das Zusammenpacken von Python-Code, Abhängigkeiten und unterstützenden Dateien, um eigenständige Anwendungen zu erstellen, die ohne die Installation eines Python-Interpreters ausgeführt werden können. Der Vorteil von PyInstaller besteht darin, dass die Abhängigkeit von der Python-Umgebung beseitigt wird, sodass Anwendungen problemlos an Endbenutzer verteilt und bereitgestellt werden können. Es bietet außerdem einen Builder-Modus, der es Benutzern ermöglicht, die Einstellungen, Symbole, Ressourcendateien und Umgebungsvariablen der Anwendung anzupassen. Installieren Sie PyInstal mit PyInstaller, um Python-Code zu packen

See all articles