Lassen Sie Grunzen die Marie Kondo -Organisationsbehandlung geben
Webpack- und NPM -Skripte dominieren die moderne JavaScript -Entwicklung, die Handhabung von Aufgaben und die Bündelung. Viele Projekte verlassen sich jedoch immer noch auf Grunzen. Obwohl Grunn nicht das neueste Kind auf dem Block ist, bleibt er ein zuverlässiges Arbeitstier. In diesem Artikel werden Strategien zur Rationalisierung und Verbesserung Ihrer vorhandenen Grunzprojekte untersucht.
Aufgabenaufgabenbelastung mit jit-grunt
Manuelles Laden jeder Grunzenaufgabe mit grunt.loadNpmTasks
ist mühsam. load-grunt-tasks
bietet Automatisierung, aber jit-grunt
bietet eine noch schnellere Leistung, insbesondere für größere Projekte.
Leistungsvergleich:
Ohne jit-grunt
:
<code>loading tasks 5.7s ▇▇▇▇▇▇▇▇ 84% assemble:compile 1.1s ▇▇ 16% Total 6.8s</code>
Mit jit-grunt
:
<code>loading tasks 111ms ▇ 8% loading assemble 221ms ▇▇ 16% assemble:compile 1.1s ▇▇▇▇▇▇▇▇ 77% Total 1.4s</code>
Eine signifikante Geschwindigkeitsverbesserung! jit-grunt
erreicht diese Optimierung, indem sie nur nach Bedarf Aufgaben laden.
Verwenden von jit-grunt
:
- Installation:
npm install jit-grunt --save
- Ersetzen Sie Ihre Aufgabenladeanweisungen:
module.exports = function (grunn) { // anstelle von einzelnen Grunzen.loadnpMtasks Anrufe ... erfordern ('Jit-Grunzen') (Grunzen); grunT.initconfig ({}); }
Stromlinien -Konfigurationsbelastung
Der nächste Schritt besteht darin, Ihre Gruntfile in kleinere, überschaubarere Konfigurationsdateien zu entkoppeln. Organisieren Sie Ihre Konfigurationen anstelle einer monolithischen gruntfile.js
in separate Dateien. Wir werden load-grunt-configs
zur effizienten Belastung verwenden.
Verwenden von load-grunt-configs
:
module.exports = function (grunn) { erfordern ('Jit-Grunzen') (Grunzen); const configs = required ('load-grunze-konfigurationen') (grunzen, { Konfiguration: {src: 'tasks/*. JS'} }); grunn.initconfig (configs); GrunT.registerTask ('Standard', ['cssmin']); }
Alternativ bietet Grunt native Aufgabenbelastung: grunt.loadTasks('tasks')
. Dies führt jedoch sofort die Dateien aus, die nicht ideal für die Konfiguration sind. Um dies zu nutzen, müssen Sie Aufgaben in den externen Dateien selbst mit grunt.config
konfigurieren.
Beispiel mit grunt.loadTasks
:
// Aufgaben/mytask.js module.exports = function (grunn) { grunn.config ('mytask', { Option: 'Wert' }); }; // Gruntfile.js module.exports = function (grunn) { erfordern ('Jit-Grunzen') (Grunzen); grunT.initconfig ({}); GrunT.loadtasks ('Aufgaben'); GrunT.registerTask ('Standard', ['mytask']); };
Erweiterte Konfigurationsorganisation: Gruppierung nach Funktionen
Das Organisieren von Aufgaben nach Dateinamen ist nicht immer intuitiv. Ein effektiverer Ansatz ist die Gruppenkonfigurationen nach Funktionen oder Funktionen.
Erstellen Sie anstelle zahlreicher einzelner Taskdateien Dateien, die Funktionen darstellen (z. B. styles.js
, scripts.js
, images.js
). Verwenden Sie grunt.config.merge
um Konfigurationen für verwandte Aufgaben zu kombinieren, wodurch das Überschreiben vermieden wird.
Beispiel: Styleskonfiguration:
// Aufgaben/styles.js module.exports = function (grunn) { grunT.config ('Sass', { / * ... * /}); grunT.config ('postcss', { / * ... * /}); grunn.config.merge ({{{ betrachten: { Stile: { Dateien: ['Source/Styles/*. SCSS'], Aufgaben: ['Sass', 'postcss'] } } }); };
Dieser Ansatz verbessert die Lesbarkeit und Wartbarkeit und bietet einen klareren Überblick über die Struktur Ihres Projekts.
Abschluss
Obwohl es nicht die neueste Technologie ist, bleibt Grunn eine praktikable Option bei der richtigen Organisation. Durch die Nutzung jit-grunt
, load-grunt-configs
(oder grunt.loadTasks
mit sorgfältiger Aufgabendefinition) und einer featurebasierten Konfigurationsstruktur können Sie die Effizienz und Wartbarkeit Ihrer Grunzprojekte erheblich verbessern. Denken Sie daran, die Grunzdokumentation für weitere Details und Möglichkeiten zu konsultieren.
Das obige ist der detaillierte Inhalt vonLassen Sie Grunzen die Marie Kondo -Organisationsbehandlung geben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

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

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Es ist aus! Herzlichen Glückwunsch an das Vue -Team, dass es eine massive Anstrengung war und lange kommt. Alle neuen Dokumente auch.

Mit dem jüngsten Aufstieg von Bitcoins Preis über 20.000 USD und kürzlich von 30.000, dachte ich, es lohnt

Ich ließ jemanden mit dieser sehr legitimen Frage einschreiben. Lea hat gerade darüber gebloggt, wie Sie gültige CSS -Eigenschaften selbst aus dem Browser erhalten können. Das ist so.

Neulich habe ich dieses besonders schöne Stück von der Website von Corey Ginnivan entdeckt, auf der eine Sammlung von Karten aufeinander stapelt.

Ich sage "Website" passt besser als "Mobile App", aber ich mag dieses Rahmen von Max Lynch:

Wenn wir dem Benutzer direkt im WordPress -Editor Dokumentation anzeigen müssen, wie können Sie dies am besten tun?

Es gibt eine Reihe dieser Desktop -Apps, in denen das Ziel Ihre Website gleichzeitig in verschiedenen Dimensionen angezeigt wird. So können Sie zum Beispiel schreiben

Fragen zu lila Schrägstrichen in Flex -Layouts Bei der Verwendung von Flex -Layouts können Sie auf einige verwirrende Phänomene stoßen, wie beispielsweise in den Entwicklerwerkzeugen (D ...
