Erstellen eines Webpacks für die Produktion - minimierte Abhängigkeiten

Say es gibt ein Modul auf Npm namens "Awesomepackage". Ich kann es als Abhängigkeit meiner Anwendung über @ registrierepackage.json wie so:

npm i --save awesomepackage

Inspecting mynode_modules Ordner Ich sehe einen Ordner mit dem Namen "awesomepackage", der so aussieht:

- index.js
- package.json
- README.md
- lib/
    - awesomepackage.min.js

und ich kann das Paket in meiner eigenen Anwendung wie folgt verwenden:

import {AwesomeThing} from 'awesomepackage';
Meine Frage

Wenn ich meine Anwendung mit dem Webpack erstelle, wird mein endgültigesbundle.js enthält immer den Quellcode vonnode_modules/awesomepackage/index.js - unabhängig von Umgebungsvariablen, die ich eingerichtet habe (z. B.NODE_ENV=production).

Kann webpack auf irgendeine Weise angewiesen werden, die vorgefertigten Dateien zu verwenden (z. B.node_modules/awesomepackage/lib/awesomepackage.min.js) Wenn sie als Teil eines NPM-Pakets geliefert werden, anstatt von der Quelle neu zu erstellen?

Ich habe Lösungen gesehenDa verwende resolve.alias undnoParse in der Webpack-Konfiguration mit fest codierten Pfaden zu minimierten Quelldateien, aber kann das den Zweck der Verwendung von npm und Webpack nicht meistens aufheben? Ich möchte nicht die Pfade zu den minimierten Build-Dateien jeder Abhängigkeit fest programmieren und pflegen müssen!

Ich bin hierher gekommen, weil meinbundle.js sprang 2,5 MB, als ichmoment.js - 167 KB, einschließlich aller Gebietsschemas, aber der Quellcode enthält 2 MB an Tests.

Bearbeite

Es steckt eindeutig mehr dahinter, als nur das finale @ zu minimierbundle.js Datei am Ende. Beispiel: Warum sollte jemand Hunderte unnötiger Komponententests für Abhängigkeiten in den endgültigen Produktionscode aufnehmen wollen? Sie tun es nicht. Aus diesem Grund bieten die meisten Bibliotheken eindist (oder ein ähnlicher) Ordner als Teil ihres npm-Moduls.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage