Im Inneren des Impossible zurück Fisker Karma Von Automotive Hölle

Carl Jenkins wollte nur für eine Fahrt gehen. Die San Bernardino Mountains versprachen atemberaubendes Bergpanorama und atemberaubende Ausblicke auf Stauseen und Seen, und weren&# X27; t zu weit von seinem Southern California nach Hause. Also an einem schönen Samstagnachmittag im Juli 2015, Jenkins und seine Frau gesetzt in seinem neuen Hybrid-Elektro-Fisker Karma aus.

Sie machten es 3 Meilen bis der Cañonstraße bevor die gefürchteten Armaturenbrett Lichter blinkten auf: Das Auto überhitzt hatte. „Ich habe mit einem klassischen Bild von meiner Frau steht neben dieses wunderschönen Auto, in wunderschöner Landschaft endete mit der Motorhaube und Kühlmittel nur aus ihn heraus gießen“, sagt Jenkins.

Zurück bei der Arbeit am Montagmorgen, bekam Jenkins Recht auf Kneifen, wie man es von jemandem erwarten würde, der ein schönes Wochenende zu einem minderwertigen Produkt verloren hatte. Aber er stöhnte nicht auf eine sympathische Kabine Mate. Jenkins führt die technischen Anstrengungen bei Karma Automotive.

Sie erinnern sich vielleicht Fisker. Das Unternehmen hatte einmal drohte Detroit mit einem schlanken, Öko-minded Sport upend Auto-und stürzte dann in einer Flamme der Mißwirtschaft und Pech. Jenkins sollte sein einziges Produkt wieder zu beleben, das Karma.

Das Laufwerk, auf dem Rande des World Scenic Byway, bei seinem ersten Wochenende im Unternehmen, kristallisierte, wie schwierig es sein würde. Er rief in dem thermischen Team für ein stumpfes Gespräch eines von vielen.

Drei Wochen nach dem Wochenende Spritztour, die thermisch Leute hatten den Luftstrom durch die Front des Autos überarbeitet, eine einfachen Lösung der ursprünglichen Ingenieure übersehen hatten, als sie im Jahr 2011 auf den Markt gelaufen Aber es war nur ein von Hunderten von Themen Jenkins und seinen Teams hatte zu identifizieren.

Heute sie denken, sie haben alle von ihnen beseitigt, und Jenkins und die anderen 600 Mitglieder des neuen Fisker Team sind bereit, ein Relaunch der bekanntesten Fehler in der Geschichte der Automobilindustrie. "Ich wollte speziell ein 1000 Stück Puzzle tun, mit vielen Wolken und grauem Himmel," Jenkins sagt. Jetzt hat er seine Chance bekommen.

Im Jahr 2008 wurde das Umweltbewusstsein der Hüfte, aber Elektroautos waren irgendwo zwischen lahm und nicht existent. Für A-Listers wie Leonardo DiCaprio, war die Spitze von Unreife, wenn Sie es glauben können, der eiförmigen Toyota Prius.

Henrik Fisker dachte Dinge anders sein könnte. Der dänische Designer hatte seinen Namen mit einigen der schönsten Autos des letzten Vierteljahrhunderts gemacht, darunter der BMW Z8 und Aston Martin DB9. Im Jahr 2007 ging er als Solisten mit einem Plan in der Welt von EVs Luxus und Stil zu bringen, und eine Prämie dafür verlangen. Fisker verhakt einige VC Bargeld und gründete Fisker Automotive in Irvine, Kalifornien.

Sie starteten das Fahrzeug zu früh im Jahr. Sie haben nicht das Programm beenden.

Carl Jenkins, leitender Ingenieur bei Karma Automotive

Im nächsten Jahr enthüllt er das Karma. Wie Chevy Volt von der gleichen Zeit hatte es eine Plug-in-Hybridantrieb, angetrieben durch Strom, bis die Batterie leer war, dann einen Gasmotor als Generator verwendet, so würde man nie gestrandet sein. Im Gegensatz zu den Volt, flippt sie wunderschön, mit Kurven, die es, wie es aussehen wurde aus einem einzigen Stück sanft geschmolzen Metall gebildet und konnte null bis 60 in weniger als 5,9 Sekunden ziehen.

Wie die amerikanische Autoindustrie zerfiel, bot Fisker eine neue Art und Weise. Forbes ihn unter der Überschrift auf der Titelseite setzen, „The Next Detroit.“ Die US-Department of Energy versprach 528.700.000 $.

Fisker verpfändete Produktion innerhalb von 18 Monaten zu beginnen. Und während er mit dem Luxus-Markt beginnen würde, wollte er innerhalb weniger Jahre die gleichen Sache Elon Musk bezahlbarer Elektroautos für die Massen zu bauen, wurde versucht, mit Tesla Motors zu tun.

Henrik Fisker mit einem Tonmodell des Fisker Karma, im Frühjahr 2010.

Für eine Weile hat es funktioniert. Das Karma machte es zu Time ‚s 50 besten Erfindungen, Automobil‚s Design of the Year und Top Gear ‚s Luxus-Auto des Jahres. WIRED nannte es „freakin heiß.“ Al Gore Anfang seiner Ordnung zu bringen. Usher gab man Justin Bieber, der es in Chrom eingewickelt. DiCaprio hat die erste Lieferung im August 2011 Fisker stolz beobachtete, wie er es fahren hinunter LA Sunset Boulevard. „Meine Idee war es wirklich etwas zu entwerfen, die direkt aus dem Herzen kamen. Ausschüsse, niemand in irgendeiner Weise oder Form hat mir gesagt, was zu tun ist, wenn ich dieses Auto entworfen „, sagt er.

Aber Fisker hatte keinen Autohersteller vor laufen. Das Unternehmen auslagern-alles, Low-Personal Ansatz ergab ein Auto mit technischen Problemen gespickt.

Da das Karma von der Idee zur Wirklichkeit ging und hielt fehlende Fristen, gesäuert die Schlagzeilen: Schlechte Zuverlässigkeit! Elektrisches Feuer! Späte Kreditzahlungen! Der Preis des Karma stieg stetig. Fisker kündigte zunächst eine UVP rund $ 80.000. Durch die Produktionszeit, begann es in sechs Figuren.

Wie GM schlägt Tesla auf das ersten echten Massenmarkt Elektroauto

Treffen Sie Teslas Modell 3, Die lang ersehnte Auto für die Massen

VW $ 15B Diesel Apology konnte schließlich Push-EVs Mainstream

Wie Fisker durch Bargeld und verpasste Fristen liefen, fror das DOE ruhig seine Finanzierung Mai 2011; es war fast $ 200 Millionen ausgeteilt. Verzweifelte Bargeld im Fluss zu halten, begann Fisker Fahrzeuge zu schnell zu verkaufen, bevor die Karmas unzählige Probleme richtig Adressierung.

„Wirklich sie ins Leben gerufen, das Fahrzeug ein Jahr zu früh“, sagt Jenkins. „Sie haben das Programm nicht beenden.“

Im Jahr 2012 fiel durch Consumer Reports die Luxuslimousine, „leider Routine Probleme“ mit der Batterie und einer Reihe von Reisen zurück an den Händler, zusammen mit einem engen Innenraum, lange Ladezeiten, einer lauten Motor und Leistungseinschränkungen unter Berufung.

Das Unternehmen arbeitet an der Spitze der Automobiltechnik. Fisker hatte seine Lieferanten zu lehren, wie einige notwendige Komponenten zu machen. Als seine einzige Batterielieferanten, Massachusetts ansässige A123, pleite ging, "das war eine Katastrophe für uns," er sagt.

Fisker Automotive ging im Jahr 2013 bankrott.

Ein Jahr später, chinesische Auto-Teile-Riese Wanxiang-Gruppe kaufte das Vermögen der Gesellschaft und was übrig blieb von A123. Bei $ 150 Millionen war es ein Feuer Verkaufspreis an den Teilen Wanxiang benötigt ein Elektroauto Aufwand seiner eigenen zu starten. Heute Wanxiang finanziert ein Comeback Geschichte. Betrachten Sie es als einen Neustart; es ist jetzt Karma Automotive Revero-nichts mit Henrik Fisker zu tun.

Das neue Karma-Team, in Moreno Valley, Kalifornien, hat die vergangenen 27 Monate damit verbracht, die viele Mängel des Autos zu beseitigen und es mit fünf Jahren der technischen Fortschritts zu aktualisieren. Sie studierten Feedback von Eigentümern und Händlern und lief drei ursprünglichen Fahrzeuge bis zu 100.000 Meilen pro Person. Sie gespreizt jedes Auto-Türen, Kofferraum und Motorhaube schwang weit offen-dann stecken Tags auf jedes Problem könnte sie bis zu den zwielichtigen Schlauchschellen finden. „Abschnitt für Abschnitt, durch das ganze Auto Wir gingen und durch die gesamte Stückliste, zu fragen braucht es repariert werden, oder ist es in Ordnung?“, Sagt Chief Marketing Jim Taylor.

Sie stellen Diagramme an der Wand jedes Problem zu verfolgen und das Geld und Zeit benötigt, es zu beheben. Es gab eine Menge von Diagrammen. Aber das Team arbeitete stetig durch jede Ausgabe. Es war eine lange Fahrt.

Die Revero Innenraum ist sehr schön, aber nicht besonders praktisch.

Das Karma Revero behält viele der Tücken des ursprünglichen Autos. Die atemberaubende Äußere ist sehr ähnlich. Es hat immer noch zu kompliziert elektrischen Türgriffe und eine ungeradzahlige Gangwahleinrichtung, mit P, R, N, D und Tasten, die die Seiten einer Pyramide bilden. Glaseinsätze im Armaturenbrett und die Türen nichts tun, sondern etwas Retro-futuristisch aussehen. Die Rücksitze sind ebenso eng, und die großen Batterien lassen wenig Kofferraum. Praktische Probleme sind nach wie vor von dem Deal Teil. Das Auto&# X27; s berühmtes Solardach wurde, dass zumindest ein wenig Dienstprogramm geben aktualisiert. Wenn es&# X27; s Echt sonnig, kann es 200 Watt Strom pro Stunde genug produziert pro Tag 1,5 Meilen emissionsfreies Fahren mit Strom zu versorgen.

Im Gegensatz zu seinem Vorgänger, jedoch arbeitet die Revero. Entscheidend ist, aktualisiert Karma den Antriebsstrang. Twin Elektromotoren treiben die Hinterräder, angetrieben von einer 23-Kilowattstunden-Batterie. General Motors macht den Zweiliter-Vierzylinder-Turbomotor, der als Generator arbeitet, wenn der Strom knapp wird. (GM den Motor nicht mehr zu machen, so einmal Karma durch seine Lager läuft, wird es eine neue Lösung benötigen.) Vorerst wird die Revero 50 Meilen auf Elektrizität gehen und liefert 20 Meilen pro Gallone, wenn der Lauf des Motors. Das ist ein bisschen kurz das 2016 Chevy Volts 53 vollelektrische Meilen und 42 mpg, aber Karma Auto drischt den Detroiter auf Aussehen und Stil.

„Als ich kam, hatten wir noch keine Ahnung, wo wir ein Montagewerk würden bauen“, sagt Jenkins. Sobald Karma auf Südkalifornien angesiedelt, begann das Führungsteam Beziehungen mit Lieferanten Wiederaufbau, oft sich fragen machen Teile neu zu starten, die jetzt aus der Produktion waren. Karma verschifft über den großen Bestand an nicht verwendeten Teile Fisker in einem finnischen Lager verlassen hatte, aber sie waren nicht ganz hilfreich.

Als Jenkins einen Stapel von gestanzten Karosserieteilen gefunden, dachte er, „Großartig, wir diese, schön und einfach nutzen können.“ Abgesehen davon, dass sein Team hatte bereits die eine nimmt beschlossen, die Fisker übermäßig dicken Kabelbaum für eine kleinere, moderne Einheit abzuladen anderer Weg durch das Auto. Die Karosserieteile aus dem ersten Karma waren voller Löcher für die alten Drähte, und sie konnten Geräusche aus dem Motorraum in die Kabine tragen. So füllte Karma sie in und gebohrt neue.

Wie der Revero ist Karma Maschinen eine Mischung aus alt und neu.

Als ich in Karma gezogen&# X27; s Parkplatz, Jenkins und sein Team hatten fast fertig ihre Arbeit. Das kleine Produktionsteam wurde ein Auto pro Tag produziert, wobei jede Stufe manuell überwachen und zu arbeiten Getriebe der Produktion.

Dennoch war die glänzende rote Revero, draußen in der normalen Ansicht sitzen, überrascht mich-Karma 2 Wochen vor der Öffentlichkeit ihrer Arbeit zeigen. Dann erspähte ich die drei Sicherheitswachen, da Fremde abwehren wandern, so Jenkins seine Fortschritte bei wolkenlosem Himmel hinweisen könnte.

Die Anlage ist weitläufig, und im Sommer drückend heiß. Wie das Auto, ist die Maschine im Inneren eine Mischung aus alt und neu. Wanxiang kaufte die Original-Line-Produktion, aber dann hatte es zu brechen und es von Finnland nach Kalifornien versandt. Die Vernietung Roboter, dass die Aluminiumschale zusammen kommen aus Skandinavien befestigen; die Lackiererei ist stammt aus der Region.

Ich denke, sie unterschätzen möglicherweise die bergauf sie vor ihnen haben, egal wie gut das Auto ist.

Chelsea Sexton, Elektro-Fahrzeug-Berater

Die Revero wir für eine Fahrt dauerte nur der zehnte vom Band, in den wirbelnden Schwarz-Weiß-Tarnung Autohersteller eingewickelt wurde, um ihre Arbeit von den Kameras zu verstecken. Jenkins betonte auf dem Fahren, den Parkplatz für die zweispurige Straße zu verlassen, die gerade durch das Industriegebiet verläuft, Abkratzen die vordere Stoßstange, als er ein Bad in der Straße getroffen. Jedes modernes Auto mit einem aggressiven Front-End hätte das gleiche getan, aber ich war froh, dass ich wasn&# X27; t am Steuer.

Sobald er entspannt hatte, mich Jenkins ließ übernehmen, ich dran machen, nervös zu sein. Ich war im Befehl eines Phönix-oder ein Zombie. Das Lenkrad klobig ist, fühlen sich die Phantasie Ledersitze groß. Die Türen schließen mit einem befriedigenden Thunk.

Das Auto hat die stille, druckvolle Beschleunigung eines elektrischen, aber wenn der Motor Brände, werden die Dinge laut. Das Team arbeitet immer noch auf den Lärm zu reduzieren und den Klang der Abgase Abstimmung, die hinter den Vorderrädern gerade herausspringen. Karma wird keine offiziellen 0-zu-60 Meilen pro Stunde Zeit bieten noch, aber ich würde es in den niedrigen 5 Sekunden peg. Das wird nicht schlagen Teslas Model S, aber es ist schnell genug, um das Versprechen des Exterieur-Design zu entsprechen.

Und, das ist wichtig-der Revero gearbeitet. Keine Warnleuchten, kein Rauch, kein Ausreißer Kühlmittel. Phoenix ist es, zumindest für jetzt.

Henrik Fisker wollte den Mantel der Automobil-Innovation weg von Detroit und machen elektrisches Fahren cool streichen. Wenn die neue Karma beginnt produktions wahrscheinlich noch in diesem Jahr wird es für eine Nische Rolle in dem Luxus-Markt absetzen. Im Wettbewerb mit den Gleichen von Aston Martin und Maserati (es hofft jedenfalls), sagt Taylor das Unternehmen einen Tag 1.000 bis 2.000 Autos pro Jahr verkaufen kann, für $ 100.000 oder mehr.

"Für mich gibt es eine Befriedigung in der Tatsache, dass das Design so sehr geschätzt wird“, sagt Fisker. Er glaubt, es zeitlos ist genug, dass es vielleicht nur für eine Wiederbelebung der Arbeit, in der gleichen Art und Weise, dass das Design Porsche 911 ist so wünschenswert, heute wie eh und je.

Das ist optimistisch. „Ich denke, sie haben eine Chance auf diese etwas Aufmerksamkeit zu bekommen“, sagt Stephanie Brinley von IHS Automotive, einem Autoindustrie Beratungsunternehmen. Das Unternehmen Analysten haben auf dem Marktplatz sah und denken Karma wahrscheinlich 300 Autos pro Jahr zu verkaufen.

Vielen Dank, dass Sie den Wettbewerb. In den fünf Jahren seit der Geburt des Fisker Karma hat sich die Automobillandschaft verändert. Elektroautos sind nicht auf jedem Block, aber Teslas Erfolg hat neue Erwartungen für Technologie und Leistung gesetzt. Chevy ist für den erschwinglichen EV Markt das Silicon Valley Liebling der Jagd, während Lamborghini, Bentley, BMW, Cadillac, Mercedes-Benz, Audi und andere bereits oder planen, bald zu bieten Plug-in-Hybrid-Luxus-Elektro-Autos. Karma bricht nicht frisch gemahlener mehr.

Das Auto muss eine zuverlässige Leistung liefern, und verlassen sich auf sein Aussehen. "Es wird eine große Underdog Geschichte sein, wenn sie es abziehen und gelingt es," sagt Chelsea Sexton, ein Elektroauto Berater und Anwalt. "Ich denke, sie unterschätzen möglicherweise die bergauf sie vor ihnen haben, egal wie gut das Auto ist."

Der letzte Test wird Eigentümer sein. Das Unternehmen ist für viele weitere Fotos von Reveros der Hoffnung geparkt entlang Cañonstraßen, ohne das Kühlmittel Ausgießen.


Wie Karma, Webpack und Karma-webpack interagieren?

Karma ist ein fantastischer Test Runner für Web-Anwendungen. Webpack ist ein ehrfürchtiger Asset-Compiler für Web-Anwendungen. Beide sind verrückt konfigurierbar und sehr komplex. Hier&# 8217; s ein detaillierter technischer Überblick, wie sie miteinander interagieren, die entweder langweilten zum Tod oder sparen Sie von Stunden Zähneknirschen.

Ich verbrachte die meiste heute Ringen mit Karma und Webpack sowie Karma-webpack, das Karma-Plugin, das Karma mit Webpack Schnittstellen. Was ich versuche war, herauszufinden, wie alle drei Dateien verarbeiten, wenn die &# 8216; webpack&# 8217; Vorprozessor wird in der Konfigurationsdatei konfiguriert Karma.

Hier&# 8217; s, was ich herausgefunden habe. (Halten Sie Ihre Hüte. Es&# 8217; s wird ein doozy sein).

Eine Karma-Konfigurationsdatei hat zwei wichtige Abschnitte für den Umgang mit Dateien: Dateien und Preprozessoren.

Die Dateien Abschnitt ist ein Array-Muster enthält, die die Arten von Dateien an, die Sie im HTML-Test-Runner enthalten sein sollen, dass&# 8217; s erzeugt. Standardmäßig werden folgende Ereignisse eintreten zu / mit Dateien, die hier nach dem Start Karma aufgeführt sind:

  1. Karma geht durch jede der Dateimuster und schafft Griffe auf alle Dateien, die jedes Muster entsprechen.
  2. Für jede passende Datei, eine Datei-Handelt, die Datei&# 8217; s Inhalte und eine Callback-Funktion an jeden passenden Präprozessor geben. (Präprozessor sind mit Dateimuster abgestimmt die Einträge in Karma config&# 8217; s Vorprozessoren Abschnitt).
  3. Der Präprozessor hat einige Arbeit, in der Regel auf den Inhalt der Datei.
  4. Der Präprozessor übergibt die Datei&# 8217; s (in der Regel modifiziert) Inhalte auf den Rückruf.
  5. (Wenn mehrere Vorprozessoren für jede Übereinstimmungsmuster verkettet sind, übergibt der Rückruf das Datei-Handle, den Inhalt und Rückruf an den nächsten Vorprozessor, eine Schleife bildet, die, bis keine Vorprozessoren weiterhin bleiben.)
  6. Wenn es keine weiteren Preprozessoren sind Warte angewendet zu werden, wird die bearbeitete Datei gespeichert.
  7. Wenn das ursprüngliche Objekt Dateimuster hatte seine diente Eigenschaft auf true gesetzt, wird die Datei durch Karma zur Verfügung gestellt&# 8217; s lokal laufenden HTTP-Server. (Standard diente: true.)
  8. Wenn das ursprüngliche Objekt Dateimuster hatte seine enthaltenen Eigenschaft auf true gesetzt ist, wird die Datei in den generierten HTML-Test-Runner enthält&# 8217; s Script-Tag. (Enthalten Default: true).

Um Karma mit Webpack zu arbeiten, werden Sie wahrscheinlich wissen, dass Sie benötigen, um den Karma-webpack Plugin zu installieren. Die Installationsanweisungen sagen Sie Ihre Karma Config zu ändern, indem das Hinzufügen &# 8216; webpack&# 8217; Präprozessor Eintrag, so etwas wie folgt aus:

Aber wie wirkt eigentlich dieser Eintrag hat und wie funktioniert der Karma-webpack Plugins interagieren mit Karma und Webpack?

Intern hat das Plugin aus zwei Komponenten: das Plugin selbst und die Prä-Prozessor-Funktion. Nach dem Start Karma, das Plugin selbst wird durch Instanziieren Karma-webpack geladen&# 8217; s Plugin-Klasse, die wiederum durch das karma-webpack Paket als ein Modul ausgeführt. Wir&# 8217; ll später mit der Prä-Prozessor-Funktion umgehen.

Hier&# 8217; s, was passiert, wenn man Karma Feuer, unter der Annahme, dass das Plugin installiert und konfiguriert werden geladen (entweder explizit in der Karma-Konfigurationsdatei&# 8217; s-Plugins Abschnitt oder standardmäßig, wenn es kein Plugins Abschnitt ist):

  1. Das Plugin-Konstruktor hat einige Ersteinrichtung und erstellt ein Webpack Compiler Beispiel in dem Objekt webpack Konfiguration vorbei in der Karma-Konfigurationsdatei definiert. (Er überschreibt auch einige der Konfigurationsoptionen übergeben, alles vor allem mit Ausgabe, so don&# 8217; t Sorge über Ihre bereits bestehende Bündel, wenn Ihr Karma Config-Datei einrichtet Webpack Optionen mit so etwas wie webpack clobbering: require ( './ webpack.config')).
  2. Das Plugin Konstruktor registriert mehr Webpack Plugins (verschieden von der Karma-webpack Karma-Plugin, ja, das ist verwirrend), die im Grunde nur Callback-Funktionen, die in verschiedenen Stadien des Webpack ausgeführt werden&# 8217; s Build-Prozess. Der wichtigste dieser Funktionen ist die &# 8220; machen&# 8221; Rückruf, die durch die konfigurierten Webpack Eintrittspunkt erstellt Vermögen zu erstellenden zusätzlich zu dem Abhängigkeitsbaum hinzufügt. Dies wird später sehr wichtig sein.
  3. Das Plugin Konstruktor hüllt die Webpack Compiler-Instanz in einer WebpackMiddlewareDev Instanz, die verschiedenen Funktionalitäten zur Verfügung stellt. Am wichtigsten ist, schafft die WebpackMiddlewareDev Wrapper eine gefälschte In-Memory-Dateisystem Webpack mit&# 8217; s Speicher-fs-Modul und konfiguriert den Webpack Compiler ausgeben alle generierten Dateien in diesem Dateisystem.
  4. Außerdem startet die WebpackMiddlewareDev Wrapper-Klasse Konstruktor den Übersetzungsvorgang.

Lassen&# 8217; s rekapitulieren. Der Karma-webpack Plugin wird nach dem Start Karma geladen, die automatisch wiederum läuft Webpack mit, was Konfigurationsoptionen wurden im webpack Abschnitt Ihrer Karma-Konfigurationsdatei übergeben.

Zu diesem Zeitpunkt keine der Dateien, die Sie&# 8217; ve in den Dateien oder Preprozessoren Abschnitt Ihrer Konfigurationsdatei aufgelistet werden in irgendeiner Weise verarbeitet oder berührt. Das alles&# 8217; s bisher geschehen ist, ist nur ein altmodischer Webpack Lauf mit der wichtigen Ausnahme, dass alle Ausgaben in ein Dateisystem im Speicher geleitet werden, anstatt auf der Festplatte gespeichert werden.

Sobald beendet Karma seine Plugins laden, beginnt sie durch die Dateien in den Dateien Abschnitt aufgeführt zu gehen. Es geht jede Datei&# 8217; s Handgriff, die Inhalte und eine Rückruffunktion (nachstehend beschrieben) auf beliebige passende Vorprozessoren, wie oben beschrieben. Unter der Annahme, dass Sie&# 8217; ve den Webpack Präprozessor für ein bestimmtes Datei / Dateimuster einrichten, das ist, was Karma-webpack tun:

  1. Die Datei-Handelte, eine Zeichenfolge, seinen Inhalt darstellt, und eine Callback-Funktion an Karma-webpack weitergegeben&# 8217; s Präprozessor Funktion, wie oben beschrieben.
  2. Der Präprozessor fügt jede Datei mit einem internen Array und fordert invalidate () auf der Middleware-wrapped Compiler weise nach jeder Datei hinzugefügt wird. ungültig machen () teilt dem Compiler, die kompiliert Asset-Pakete sind nicht mehr gut, die eine erneute Kompilierung auslöst.
  3. Denken Sie daran, die &# 8220; machen&# 8221; Plugin Rückruf, der registriert wurde, als Karma gestartet wurde? Dieses Mal, wenn der Compiler gestartet wird, nimmt die Make-Plugin das Array von Dateien, die von dem Vorprozessor bevölkerten und fügt sie den Compiler&# 8217; s Build-Schritt machen.
  4. Nach Webpack&# 8217; s-Plugin Dokumentation, die make build Schritt ermöglicht es Ihnen, &# 8220, fügen Sie Einträge in die Kompilierung oder Prefetch-Module.&# 8221; Wenn Sie lesen Karma-webpack&# 8217; s-Code, Sie&# 8217; ll verstehen, dass das, was in der Praxis bedeutet, ist, dass die übergebenen Dateien aus dem Prä-Prozessor auf den SingleEntryDependency Konstruktor übergeben werden und die SingleEntryDependency Instanzen werden in die addEntry Methode übergeben, das, was tatsächlich die Dateien in die Zusammenstellung hinzufügt, ist als Abhängigkeiten. (Aber Abhängigkeiten von was? Die Zusammenstellung als Ganzes? Es&# 8217; s nicht klar).
  5. Da die Präprozessor-Dateien als separate Abhängigkeiten hinzugefügt wurden, werden sie zusammengestellt und die Ausgabe an die In-Memory-Dateisystem als Bündel neben dem Hauptbündel gespeichert wird. Trotz der Tatsache, dass sie in als Instanzen einer Klasse übergeben werden genannt SingleEntryDependency, jede Datei erhält eine eigene Standalone zusammengestellt Bundle-Datei. (ANMERKUNG: habe ich gelernt, auf die harte Weise, dass diese Dateien nicht erzeugt werden, wenn es einen Einstiegspunkt in Ihrem Webpack Config ist, die mit der gleichen Erweiterung wie die Dateien auf eine Datei zeigt, die in den Prä-Prozessor übergeben werden, also, wenn Sie.&# 8217; re eine Bibliothek wie Riot mit oder reagieren und Sie wollen jeweils in .tag oder .jsx Dateien zu übergeben, müssen Sie eine .tag oder .jsx Datei als mindestens einen Einstiegspunkt angeben. Ich denke, dies zu verstehen ist eine Optimierungsfunktion sein, aber es war eine echte PITA an der Zeit, um herauszufinden.)
  6. An diesem Punkt hat Steuerung zum Vorprozessor zurückgegeben, der eine Funktion führt das neu kompilierte Abhängigkeits abgeleitetes Bündel (nicht das Hauptbündel) zu lesen.
  7. Der Inhalt jedes Lesebündels an den Präprozessor Rückruf übergeben.
  8. Unter der Annahme, dass es nicht mehr Preprozessoren für die Datei aufgerufen werden, Vorverarbeitung Ende und Karma speichert den Inhalt des Bündels in eine neue Datei.

Was&# 8217; s wichtig, hier zu beachten ist, dass Karma-webpack die Dateien nimmt, die in den Dateien und Preprozessoren Abschnitte des Karma übergeben werden&# 8217; s-Konfigurationsdatei. Diese Dateien werden einzeln hinzugefügt, wie die Compiler Abhängigkeit&# 8217; s läuft, getrennt von dem Abhängigkeitsbaum zusammengestellt und anschließend dem kompilierte Bündel&# 8217; Inhalt zurück an Karma gespeichert werden, in Verbindung mit in der HTML-Test-Runner-Datei, und diente während des Browser gehostete Testlauf bestanden.

Mit anderen Worten, die wichtigsten Anlagepakete, die den Einspeisepunkten in Ihrem Webpack Config erzeugt werden, werden vollständig verworfen. Die Einstiegspunkte werden verworfen. Dennoch ist für jeden Typ Datei übergeben von Dateien und Preprozessoren, müssen Sie mindestens einen Einstiegspunkt Ende in der gleichen Erweiterung in Ihrem Webpack Config angegeben haben oder aber die in Dateien weitergegeben werden nicht während der kompiliert werden &# 8220; machen&# 8221; Erstellungsschritt. Wenn der Präprozessor die kompilierten Dateien zu lesen versucht, wird es dann ersticken und Karma abstürzen.

Ich kenne. Aber wenn du&# 8217; re versucht, einen Fehler in Ihrem Test-Setup, um herauszufinden, ich hoffentlich&# 8217; ve Sie Kopfschmerzen gespeichert.