国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Inhaltsverzeichnis
webpack-dev-server
1. Installation
2. Starten Sie npm
3. Direkt starten
4.8080-Port belegt
nodemon startet automatisch
Proxy
Heim Web-Frontend js-Tutorial Die Verwendung der automatischen Aktualisierung und Analyse von Webpacks

Die Verwendung der automatischen Aktualisierung und Analyse von Webpacks

Mar 16, 2018 pm 02:29 PM
web webpack verwenden

Dieses Mal werde ich Ihnen die Verwendung der automatischen Aktualisierung und Analyse von Webpacks vorstellen. Was sind die Vorsichtsma?nahmen für die Verwendung der automatischen Aktualisierung und Analyse von Webpacks?

Das Front-End muss h?ufig js und Stile ?ndern und st?ndig an den Seiteneffekt des Browsers angepasst werden. Oft stimmen unser Entwicklungsverzeichnis und das lokale Release-Verzeichnis nicht überein Ver?ffentlichen Sie sie nach der ?nderung. Das hei?t, nicht alle Auswirkungen k?nnen direkt durch Doppelklicken auf die Seite angezeigt werden. Wir müssen h?ufig Nginx verwenden, um eine Site lokal zu beobachten (es ist in Ordnung, bevor wir sie auf unserem eigenen Computer einfügen). Testumgebung). Wenn Sie also den Browser manuell aktualisieren und die Site manuell ver?ffentlichen (oder anklicken) und starten müssen, ist das in der Tat eine Menge k?rperlicher Arbeit. Und diese drei Webpack-Punkte k?nnen uns dabei helfen.

webpack-dev-server

Webpack implementiert die automatische Aktualisierung über den webpack-dev-server (WDS). WDS ist ein Entwicklungsserver (ein Express), der im Speicher ausgeführt wird. Nach dem Start erkennt es, ob sich die Datei ge?ndert hat und kompiliert automatisch erneut.

1. Installation

npm?install?webpack-dev-server?--save-dev

Installieren Sie es zun?chst über npm im Entwicklungsverzeichnis. Nach Abschluss der Installation finden Sie es unter node_modules/bin.

2. Starten Sie npm

?ndern Sie dann package.json: (basierend auf dem vorherigen Abschnitt)

?"scripts":?{????"start":?"webpack-dev-server?--env?development",????"build":?"webpack?--env?production"
??}

Jetzt k?nnen Sie es über npm run start oder npm start starten .

Nach dem Start k?nnen Sie sehen, dass das Projekt unter http://localhost:8080 ausgeführt wird. Das ?ffnen der Seite

zeigt, dass WDS automatisch eine Site für uns erstellt hat. Wir ?ndern Component.js, die Kompilierung wird in cmd angezeigt und die Seite wird automatisch aktualisiert.

3. Direkt starten

Offizielle Website-Einführung: Sie k?nnen WDS direkt über den folgenden Befehl starten.

webpack-dev-server?--env?development

Aber es wird eine Meldung angezeigt, dass webpack-dev-server --env development kein interner Befehl ist. Diese Art von Problem wird durch Umgebungsvariablen verursacht. Legen Sie einfach das von Ihnen entwickelte bin-Verzeichnis fest Umgebungsvariable, zum Beispiel ist mein Verzeichnis ?E:Html5node_modules.bin“, fügen Sie einfach ein Semikolon hinzu und schreiben Sie es am Ende.

C:\Users\Administrator.9BBOFZPACSCXLG2\AppData\Roaming\npm;C:\Program?Files?(x86)\Microsoft?VS?Code\bin;E:\Html5\node_modules\.bin

4.8080-Port belegt

Wenn der Standard-8080-Port belegt ist, ?ndert WDS ihn. Verwenden Sie beispielsweise Nginx, um zuerst eines zu ver?ffentlichen.

???server{
??????listen???????8080;
??????location?/?{
???????????root???E:/Html5/build;
???????????index??index.html?index.htm;
????????}
????}

WDS neu starten:

Der Port wird auf 8081 umgestellt. Sie k?nnen den Port auch manuell konfigurieren:

?devServer:{???//...
????port:?9000}

nodemon startet automatisch

WDS überwacht Entwicklungsdateien und ?nderungen an webpack.config.js führen nicht zu einem automatischen Start. Dazu ben?tigen wir Nodemon.

npm?install?nodemon?--save-dev

Installieren Sie es zuerst im Entwicklungsverzeichnis und ?ndern Sie dann package.json:

?"scripts":?{???"start":?"nodemon?--watch?webpack.config.js?--exec?\"webpack-dev-server?--env?development\"",????"build":?"webpack?--env?production"
??},

Dies entspricht dem überwachen von webpack.config.js durch Nodemon und dem Starten, wenn dies der Fall ist ?nderungen.

Auf diese Weise k?nnen Sie Ihre H?nde auf die Entwicklung konzentrieren.

Proxy

Aber ich habe ein wenig Zweifel an der Ersetzbarkeit der WDS-Site, da der Nginx, den wir selbst bereitgestellt haben, über einige API-Proxys verfügt. Wenn es auf der Standardsite von WDS h?ngt, ist es natürlich nicht zug?nglich. Mit anderen Worten: K?nnen Sie einen Aktualisierungspfad für WDS konfigurieren? Wenn sich die Datei ?ndert, aktualisieren Sie die angegebene Adresse oder bitten Sie mich, einen Proxy zu konfigurieren. Da es sich selbst um einen http-Server handelt, muss er auch über Proxy-Funktionen verfügen. Nach der Suche habe ich Folgendes gefunden: https://github.com/webpack/webpack-dev-server/tree/master/examples/proxy-advanced

module.exports?=?{
????context:?dirname,
????entry:?"./app.js",
????devServer:?{????????proxy:?{????????????"/api":?{
????????????????target:?"http://jsonplaceholder.typicode.com/",
????????????????changeOrigin:?true,
????????????????pathRewrite:?{????????????????????"^/api":?""
????????????????},
????????????????bypass:?function(req)?{????????????????????if(req.url?===?"/api/nope")?{????????????????????????return?"/bypass.html";
????????????????????}
????????????????}
????????????}
????????}
????}
}

über das API-Feld Ersetzen Sie es durch http://jsonplaceholder.typicode.com/ und l?schen Sie es aus der ursprünglichen Adresse, damit Sie den Proxy selbst implementieren k?nnen. Alle sind glücklich! WDS implementiert Proxy über http-proxy-middleware. Weitere Referenzen: http://webpack.github.io/docs/webpack-dev-server.html#bypass-the-proxy;https://github.com/chimurai/http-proxy-middleware#options

but,這種刷新是怎么實(shí)現(xiàn)的呢?因?yàn)轫撁嫔蠜]有嵌入什么別的js,去翻原碼 web-dev-server/server.js中有這么一段:

Server.prototype._watch?=?function(path)?{????const?watcher?=?chokidar.watch(path).on("change",?function()?{????????this.sockWrite(this.sockets,?"content-changed");
????}.bind(this))????this.contentBaseWatchers.push(watcher);
}

用chokidar來監(jiān)視文件變化,server的內(nèi)部維護(hù)的有一個(gè)socket集合:

Server.prototype.sockWrite?=?function(sockets,?type,?data)?{
????sockets.forEach(function(sock)?{
????????sock.write(JSON.stringify({
????????????type:?type,
????????????data:?data
????????}));
????});
}

sock是一個(gè)sockjs對象。https://github.com/sockjs/sockjs-client,從http://localhost:8080/webpack-dev-server/頁面來看,sockjs是用來通信記錄日志的。 ?

var?onSocketMsg?=?{
????hot:?function()?{
????????hot?=?true;
????????log("info",?"[WDS]?Hot?Module?Replacement?enabled.");
????},
????invalid:?function()?{
????????log("info",?"[WDS]?App?updated.?Recompiling...");
????????sendMsg("Invalid");
????},
????hash:?function(hash)?{
????????currentHash?=?hash;
????},
...
}

我們在看app.js,其中有一個(gè)OnSocketMsg 對象。

var?onSocketMsg?=?{
????hot:?function()?{
????????hot?=?true;
????????log("info",?"[WDS]?Hot?Module?Replacement?enabled.");
????},
????invalid:?function()?{
????????log("info",?"[WDS]?App?updated.?Recompiling...");
????????sendMsg("Invalid");
????},
????hash:?function(hash)?{
????????currentHash?=?hash;
????},????"still-ok":?function()?{
????????log("info",?"[WDS]?Nothing?changed.")????????if(useWarningOverlay?||?useErrorOverlay)?overlay.clear();
????????sendMsg("StillOk");
????},????"log-level":?function(level)?{
????????logLevel?=?level;
????},????"overlay":?function(overlay)?{????????if(typeof?document?!==?"undefined")?{????????????if(typeof(overlay)?===?"boolean")?{
????????????????useWarningOverlay?=?overlay;
????????????????useErrorOverlay?=?overlay;
????????????}?else?if(overlay)?{
????????????????useWarningOverlay?=?overlay.warnings;
????????????????useErrorOverlay?=?overlay.errors;
????????????}
????????}
????},
????ok:?function()?{
????????sendMsg("Ok");????????if(useWarningOverlay?||?useErrorOverlay)?overlay.clear();????????if(initial)?return?initial?=?false;
????????reloadApp();
????},????"content-changed":?function()?{
????????log("info",?"[WDS]?Content?base?changed.?Reloading...")
????????self.location.reload();
????},
????warnings:?function(warnings)?{
????????log("info",?"[WDS]?Warnings?while?compiling.");????????var?strippedWarnings?=?warnings.map(function(warning)?{????????????return?stripAnsi(warning);
????????});
????????sendMsg("Warnings",?strippedWarnings);????????for(var?i?=?0;?i?<?strippedWarnings.length;?i++)
????????????console.warn(strippedWarnings[i]);????????if(useWarningOverlay)?overlay.showMessage(warnings);????????if(initial)?return?initial?=?false;
????????reloadApp();
????},
????errors:?function(errors)?{
????????log("info",?"[WDS]?Errors?while?compiling.?Reload?prevented.");????????var?strippedErrors?=?errors.map(function(error)?{????????????return?stripAnsi(error);
????????});
????????sendMsg("Errors",?strippedErrors);????????for(var?i?=?0;?i?<?strippedErrors.length;?i++)
????????????console.error(strippedErrors[i]);????????if(useErrorOverlay)?overlay.showMessage(errors);
????},
????close:?function()?{
????????log("error",?"[WDS]?Disconnected!");
????????sendMsg("Close");
????}
};

View Code

ok的時(shí)候觸發(fā)一個(gè)reloadApp

function?reloadApp()?{????if(hot)?{
????????log("info",?"[WDS]?App?hot?update...");????????var?hotEmitter?=?webpack_require("./node_modules/webpack/hot/emitter.js");
????????hotEmitter.emit("webpackHotUpdate",?currentHash);????????if(typeof?self?!==?"undefined")?{????????????//?broadcast?update?to?window
????????????self.postMessage("webpackHotUpdate"?+?currentHash,?"*");
????????}
????}?else?{
????????log("info",?"[WDS]?App?updated.?Reloading...");????????self.location.reload();
????}
}

也就是說WDS先檢測文件是否變化,然后通過sockjs通知到客戶端,這樣就實(shí)現(xiàn)了刷新。之前WebSocket的第三方只用過socket.io,看起來sockjs也蠻好用的。不必外帶一個(gè)js,在主js里面就可以寫了。

相信看了本文案例你已經(jīng)掌握了方法,更多精彩請關(guān)注php中文網(wǎng)其它相關(guān)文章!

推薦閱讀:

H5的緩存Manifest的使用

webpack的模塊熱替換詳解

webpack的樣式加載詳解

JS事件先發(fā)布后訂閱的方法

Das obige ist der detaillierte Inhalt vonDie Verwendung der automatischen Aktualisierung und Analyse von Webpacks. 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

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

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.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

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)

Hei?e Themen

PHP-Tutorial
1502
276
So verwenden Sie MDF- und MDS-Dateien So verwenden Sie MDF- und MDS-Dateien Feb 19, 2024 pm 05:36 PM

Verwendung von MDF- und MDS-Dateien Dank der kontinuierlichen Weiterentwicklung der Computertechnologie k?nnen wir Daten auf vielf?ltige Weise speichern und teilen. Im Bereich digitaler Medien sto?en wir h?ufig auf spezielle Dateiformate. In diesem Artikel besprechen wir ein g?ngiges Dateiformat – MDF- und MDS-Dateien – und stellen deren Verwendung vor. Zuerst müssen wir die Bedeutung von MDF-Dateien und MDS-Dateien verstehen. mdf ist die Erweiterung der CD/DVD-Imagedatei und die mds-Datei ist die Metadatendatei der mdf-Datei.

Mar 18, 2024 am 10:58 AM

foobar2000 ist eine Software, die Ihnen jederzeit Musik aller Art mit verlustfreier Klangqualit?t bietet Spielen Sie das erweiterte Audio auf dem Computer ab, um ein bequemeres und effizienteres Musikwiedergabeerlebnis zu erm?glichen. Das Interface-Design ist einfach, klar und benutzerfreundlich. Es nimmt einen minimalistischen Designstil an, ohne überm??ige Dekoration Es unterstützt au?erdem eine Vielzahl von Skins und Themes, personalisiert Einstellungen nach Ihren eigenen Vorlieben und erstellt einen exklusiven Musikplayer, der die Wiedergabe mehrerer Audioformate unterstützt. Au?erdem unterstützt es die Audio-Gain-Funktion zum Anpassen der Lautst?rke Passen Sie die Lautst?rke entsprechend Ihrem H?rzustand an, um H?rsch?den durch zu hohe Lautst?rke zu vermeiden. Als n?chstes lass mich dir helfen

Mar 18, 2024 pm 02:58 PM

CrystalDiskMark ist ein kleines HDD-Benchmark-Tool für Festplatten, das schnell sequentielle und zuf?llige Lese-/Schreibgeschwindigkeiten misst. Lassen Sie sich als N?chstes vom Redakteur CrystalDiskMark und die Verwendung von CrystalDiskMark vorstellen ). Zuf?llige I/O-Leistung. Es ist eine kostenlose Windows-Anwendung und bietet eine benutzerfreundliche Oberfl?che und verschiedene Testmodi zur Bewertung verschiedener Aspekte der Festplattenleistung. Sie wird h?ufig in Hardware-Reviews verwendet

So verwenden Sie die Baidu Netdisk-App So verwenden Sie die Baidu Netdisk-App Mar 27, 2024 pm 06:46 PM

Cloud-Speicher sind heutzutage aus unserem t?glichen Leben und Arbeiten nicht mehr wegzudenken. Als einer der führenden Cloud-Speicherdienste in China hat Baidu Netdisk mit seinen leistungsstarken Speicherfunktionen, der effizienten übertragungsgeschwindigkeit und dem komfortablen Bedienerlebnis die Gunst einer gro?en Anzahl von Benutzern gewonnen. Und egal, ob Sie wichtige Dateien sichern, Informationen teilen, Videos online ansehen oder Musik h?ren m?chten, Baidu Cloud Disk kann Ihre Anforderungen erfüllen. Viele Benutzer verstehen jedoch m?glicherweise nicht die spezifische Verwendung der Baidu Netdisk-App. Dieses Tutorial führt Sie daher im Detail in die Verwendung der Baidu Netdisk-App ein. Wenn Sie immer noch verwirrt sind, folgen Sie bitte diesem Artikel, um mehr im Detail zu erfahren. So verwenden Sie Baidu Cloud Network Disk: 1. Installation W?hlen Sie beim Herunterladen und Installieren der Baidu Cloud-Software zun?chst die benutzerdefinierte Installationsoption aus.

BTCC-Tutorial: Wie kann ich die MetaMask-Wallet an der BTCC-B?rse binden und verwenden? BTCC-Tutorial: Wie kann ich die MetaMask-Wallet an der BTCC-B?rse binden und verwenden? Apr 26, 2024 am 09:40 AM

MetaMask (auf Chinesisch auch Little Fox Wallet genannt) ist eine kostenlose und beliebte Verschlüsselungs-Wallet-Software. Derzeit unterstützt BTCC die Bindung an die MetaMask-Wallet. Nach der Bindung k?nnen Sie sich mit der MetaMask-Wallet schnell anmelden, Werte speichern, Münzen kaufen usw. und bei der erstmaligen Bindung einen Testbonus von 20 USDT erhalten. Im BTCCMetaMask-Wallet-Tutorial stellen wir detailliert vor, wie man MetaMask registriert und verwendet und wie man das Little Fox-Wallet in BTCC bindet und verwendet. Was ist die MetaMask-Wallet? Mit über 30 Millionen Nutzern ist MetaMask Little Fox Wallet heute eines der beliebtesten Kryptow?hrungs-Wallets. Die Nutzung ist kostenlos und kann als Erweiterung im Netzwerk installiert werden

So verwenden Sie NetEase Mailbox Master So verwenden Sie NetEase Mailbox Master Mar 27, 2024 pm 05:32 PM

NetEase Mailbox ist eine von chinesischen Internetnutzern weit verbreitete E-Mail-Adresse und hat mit seinen stabilen und effizienten Diensten schon immer das Vertrauen der Benutzer gewonnen. NetEase Mailbox Master ist eine E-Mail-Software, die speziell für Mobiltelefonbenutzer entwickelt wurde. Sie vereinfacht das Senden und Empfangen von E-Mails erheblich und macht unsere E-Mail-Verarbeitung komfortabler. Wie Sie NetEase Mailbox Master verwenden und welche spezifischen Funktionen es bietet, wird Ihnen der Herausgeber dieser Website im Folgenden ausführlich vorstellen und hofft, Ihnen weiterzuhelfen! Zun?chst k?nnen Sie die NetEase Mailbox Master-App im Mobile App Store suchen und herunterladen. Suchen Sie im App Store oder im Baidu Mobile Assistant nach ?NetEase Mailbox Master“ und befolgen Sie dann die Anweisungen zur Installation. Nachdem der Download und die Installation abgeschlossen sind, ?ffnen wir das NetEase-E-Mail-Konto und melden uns an. Die Anmeldeschnittstelle ist wie unten dargestellt

So verwenden Sie Thunder zum Herunterladen von Magnet-Links So verwenden Sie Thunder zum Herunterladen von Magnet-Links Feb 25, 2024 pm 12:51 PM

Mit der rasanten Entwicklung der Netzwerktechnologie wurde auch unser Leben erheblich erleichtert. Eine davon ist die M?glichkeit, verschiedene Ressourcen über das Netzwerk herunterzuladen und zu teilen. Beim Herunterladen von Ressourcen sind Magnetlinks zu einer sehr verbreiteten und bequemen Download-Methode geworden. Wie nutzt man Thunder-Magnet-Links? Im Folgenden werde ich Ihnen eine detaillierte Einführung geben. Xunlei ist ein sehr beliebtes Download-Tool, das eine Vielzahl von Download-Methoden unterstützt, einschlie?lich Magnet-Links. Unter einem Magnet-Link kann eine Download-Adresse verstanden werden, über die wir relevante Informationen zu Ressourcen erhalten k?nnen.

So verwenden Sie die Xiaomi Auto-App So verwenden Sie die Xiaomi Auto-App Apr 01, 2024 pm 09:19 PM

Die Xiaomi-Autosoftware bietet Funktionen zur Fernsteuerung des Fahrzeugs, mit denen Benutzer das Fahrzeug über Mobiltelefone oder Computer fernsteuern k?nnen, z. B. das ?ffnen und Schlie?en der Türen und Fenster des Fahrzeugs, das Starten des Motors, die Steuerung der Klimaanlage und des Audios des Fahrzeugs usw. Folgendes ist Lassen Sie uns gemeinsam mehr über die Verwendung und den Inhalt dieser Software erfahren. Umfassende Liste der Funktionen und Nutzungsmethoden der Xiaomi Auto-App. 1. Die Xiaomi Auto-App wurde am 25. M?rz im Apple AppStore gestartet und kann jetzt im App Store auf Android-Telefonen heruntergeladen werden: Erfahren Sie mehr über die wichtigsten Highlights und technischen Parameter von Xiaomi Auto und vereinbaren Sie einen Termin für eine Probefahrt. Konfigurieren und bestellen Sie Ihr Xiaomi-Auto und unterstützen Sie die Online-Abwicklung von Aufgaben zur Autoabholung. 3. Community: Informationen zur Marke Xiaomi Auto verstehen, Autoerfahrungen austauschen und das wundervolle Autoleben teilen: Das Mobiltelefon ist die Fernbedienung, Fernbedienung, Echtzeitsicherheit, einfach

See all articles